0

0

在C++中以升序交替方式重新排列奇数和偶数值

PHPz

PHPz

发布时间:2023-09-12 18:45:02

|

1335人浏览过

|

来源于tutorialspoint

转载

在c++中以升序交替方式重新排列奇数和偶数值

我们得到一个包含正数和负数的整数类型数组,比方说,任意给定大小的 arr[] 。任务是以这样的方式重新排列数组:当数组中的最低元素为奇数时,数组中的元素将以奇数在前、偶数在前的方式重新排列 第二种方式。当数组中的最低元素为偶数时,数组的元素将以偶数第一、奇数第二的方式重新排列,如果偶数/奇数元素的数量大于奇数/偶数元素的数量,则它将放置 0 和打印结果。

让我们看看各种输入输出场景 -

输入− int arr[] = { 1, 1, 2, 2 , 5, 4 }

输出− 以交替方式按升序排列的奇数和偶数值是:1 2 1 2 5 4。

解释- 我们得到一个整数类型数组。现在我们将检查数组中最小的元素,即 1 是奇数,因此元素将首先排列在奇数中, 甚至第二种方式,即 1 2 1 2 5 4 是最终输出。

输入− int arr[] = { 6, 3, 2, 8, 10, 4 }

输出− 以交替方式按升序重新排列奇数和偶数值是:2 3 4 0 6 0

解释 − 我们得到一个整数类型数组。现在我们将检查数组中最小的元素,即 2 是偶数,因此 elem

立即学习C++免费学习笔记(深入)”;

下面程序中使用的方法如下

    输入一个整型元素数组,并计算数组的大小。

  • 使用 C++ STL 的排序方法对数组进行排序,传递数组和大小排序函数的数组。

  • 声明一个整型变量并通过调用函数 Rearrangement(arr, size) 来设置它

  • 在函数 Rearrangement(arr, size) 内

    X Detector
    X Detector

    最值得信赖的多语言 AI 内容检测器

    下载
    • 创建两个变量“vec_1”和“vec_2”作为存储的向量类型整数类型数据。

    • 创建一个整数类型的临时变量 temp 并将其设置为 0。

    • 声明另一个变量bool 类型作为检查,并将其设置为 FALSE。

    • 开始从 i 到 0 的 FOR 循环,直到 i 小于 size。在循环内部,检查 IF arr[i] % 2 = 0,然后将 arr[i] 推入 vec_1。否则,将 arr[i] 推入 vec_2。

    • 将整数变量声明为 i 和 j 为 0。检查 IF arr[0] % 2 = 0,然后将检查设置为 true。

    • 当温度小于大小时启动。在循环内,检查 IF check = true,然后将 arr[temp++] 设置为 vec_1[i++] 并将 check 设置为 !check。否则,将 arr[temp++] 转换为 vec_2[j++] 并将检查设置为 !check。

  • 打印结果。

    li>

示例

#include 
using namespace std;
void Rearrangement(int arr[], int size){
   vector vec_1, vec_2;
   int temp = 0;
   bool check = false;
   for(int i = 0; i < size; i++){
      if(arr[i] % 2 == 0){
         vec_1.push_back(arr[i]);
      }
      else{
         vec_2.push_back(arr[i]);
      }
   }
   int i = 0;
   int j = 0;
   if(arr[0] % 2 == 0){
      check = true;
   }
   while(temp < size){
      if(check == true){
         arr[temp++] = vec_1[i++];
         check = !check;
      }
      else{
         arr[temp++] = vec_2[j++];
         check = !check;
      }
   }
}
int main(){
   int arr[] = { 1, 1, 2, 2, 5, 4 };
   int size = sizeof(arr) / sizeof(int);
   //sort an array
   sort(arr, arr + size);
   cout<<"Rearrangement of Odd and Even values in Alternate Fashion in Ascending Order is: ";
   Rearrangement(arr, size);
   for(int i = 0; i < size; i++){
      cout << arr[i] << " ";
   }
   return 0;
}

输出

如果我们运行上面的代码,它将生成以下输出

Rearrangement of Odd and Even values in Alternate Fashion in Ascending Order is: 1 2 1 2 5 4

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

737

2023.08.22

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

315

2023.08.02

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

537

2024.08.29

c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

52

2025.08.29

C++中int的含义
C++中int的含义

本专题整合了C++中int相关内容,阅读专题下面的文章了解更多详细内容。

197

2025.08.29

li是什么元素
li是什么元素

li是HTML标记语言中的一个元素,用于创建列表。li代表列表项,它是ul或ol的子元素,li标签的作用是定义列表中的每个项目。本专题为大家li元素相关的各种文章、以及下载和课程。

414

2023.08.03

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

34

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 3.1万人学习

Excel 教程
Excel 教程

共162课时 | 11.8万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 2.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号