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

2023年 9月 12日 41.9k 0

在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++ STL 的排序方法对数组进行排序,传递数组和大小排序函数的数组。

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

  • 在函数 Rearrangement(arr, size) 内

    • 创建两个变量“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

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论