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

在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) 内

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

以上就是在C++中以升序交替方式重新排列奇数和偶数值的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1445054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 22:08:22
下一篇 2025年12月17日 22:08:33

相关推荐

  • 排序二进制字符串所需删除的最小字符数,以使其按升序排列

    在计算机科学中,字符串操作是一个重要的主题,涉及到拼接、子串、反转等操作。与字符串操作相关的一个常见问题是从二进制字符串中移除所有的0。在本文中,我们将讨论一种使用最少数量的非相邻对翻转来解决这个问题的算法。 问题陈述 给定一个二进制字符串,我们必须使用最少次数的非相邻对翻转来删除字符串中的所有 0…

    2025年12月17日
    000
  • 按字符的ASCII值对字符串进行排序

    ASCII 值 ASCII(美国信息交换标准代码)是计算机和互联网上文​​本数据最常见的字符编码格式。在标准 ASCII 编码数据中,256 个字母、数字或特殊附加字符和控制代码都有唯一值。 问题陈述 现在,在这个问题中,我们需要根据字符的 ASCII 值按升序找到排序后的字符串,其中该字符串将是用…

    2025年12月17日
    000
  • 使用STL根据因子数量进行排序

    使用STL对向量进行排序是小菜一碟。我们可以使用著名的sort()函数来完成这个任务。真正的挑战是计算每个数字的因子数量。 因子是能够完全整除另一个数的数字,即余数为零。 遍历所有数字以计算因子可能是一种方法,但我们将在本文中尝试优化和达到高效的解决方案。 问题陈述 根据每个数字的因子数量按升序对给…

    2025年12月17日
    000
  • C++程序按值对字典进行排序

    有一些被称为字典的数据结构在各种计算机语言中可用。一种特殊形式的更快的数据结构,它根据键和值存储数据,就是字典。它将键值对保留在那里,以便可以通过键快速搜索某些组件,几乎实时。类似字典的数据结构包含在C++ STL语言标准中。这个数据结构被称为”map“。map生成任何类型的…

    2025年12月17日
    000
  • 基数排序的C程序

    排序算法是一种按特定顺序排列列表组件的算法。最常用的顺序是数字顺序和字典顺序。 基数排序是一种非比较排序算法。基数排序算法是未排序列表的首选算法。 它通过最初对相同位值的各个数字进行分组来对元素进行排序。基数排序的思想是按照递增/递减顺序从最低有效数字(LSD)到最高有效数字(MSD)进行逐位排序。…

    2025年12月17日
    000
  • C++程序:按字母顺序重新排列单词的位置

    在这个问题中,一个字符串被作为输入,我们必须按字典顺序对字符串中出现的单词进行排序。为此,我们为字符串中的每个单词(之间用空格区分)分配一个从 1 开始的索引,并以排序索引的形式获得输出。 String = {“Hello”, “World”}“Hello” = 1“World” = 2 由于输入字…

    2025年12月17日
    000
  • Perl中如何对混合字符串进行排序?(代码示例)

    perl中的排序可以使用预定义的函数“sort”来完成;此函数使用快速排序算法对传递给它的数组进行排序。下面本篇文章就给大家介绍如何使用sort()函数以各种方式对包含混合形式的字符串(即字母数字字符串)的数组进行排序,希望对大家有所帮助。【视频教程推荐:perl教程】 方法一:sort()+sub…

    2025年12月17日
    000
  • RSS订阅如何排序?

    RSS订阅默认按发布时间倒序排列,最新内容优先显示,排序功能由阅读器实现,用户可自定义按日期、标题、来源或阅读状态等规则调整,以提升信息获取效率。 RSS订阅的排序机制,默认情况下通常是按照内容的发布时间倒序排列,也就是最新发布的内容会显示在最前面。不过,许多RSS阅读器和聚合服务也提供了自定义排序…

    2025年12月17日
    000
  • XSLT如何排序节点?

    XSLT中排序节点的核心是使用元素,它通过select、order和data-type等属性定义排序键和规则,支持按文本、数值或多条件排序,需注意默认按字符串排序可能导致数字排序错误,应显式设置data-type=”number”以避免陷阱。 这段XSLT会遍历所有的 节点,…

    2025年12月17日
    000
  • XSLT的sort元素如何指定排序规则?

    xslt的xsl:sort元素用于定义数据排序规则,必须在xsl:apply-templates或xsl:for-each内使用。1. select属性指定排序键的xpath表达式,如select=”price”按价格排序;2. order属性定义顺序,可选ascending…

    2025年12月17日
    000
  • Golang sort排序实现 自定义排序函数写法

    Go语言中sort包支持切片和自定义数据排序。1. sort.Slice通过比较函数实现灵活排序,如按分数降序、姓名升序;2. 实现sort.Interface接口(Len、Less、Swap)可复用排序规则,配合sort.Stable保持稳定;3. 注意Less返回逻辑、使用SliceStable…

    2025年12月15日
    000
  • 怎样使用Golang的sort库排序 自定义排序函数实现方案

    使用sort.Slice可快速对切片自定义排序,如按年龄升序;实现sort.Interface接口适合封装可复用的排序逻辑。 在Go语言中,sort包提供了对切片和自定义数据结构进行排序的实用功能。除了对基本类型(如int、string)排序外,你还可以通过实现自定义排序逻辑来处理复杂结构体或特定排…

    2025年12月15日
    000
  • Golang的sort排序实现 自定义排序函数写法

    Go语言中sort包支持自定义排序,1. 使用sort.Slice配合比较函数可灵活排序,如按结构体字段升序或降序;2. 实现sort.Interface接口(Len、Less、Swap)适用于复杂或复用场景,可定义ByAge、ByName等类型;3. 多条件排序需在Less或比较函数中组合逻辑,先…

    2025年12月15日
    000
  • Python冒泡排序、快速排序、堆排序

    冒泡排序通过相邻元素交换将最大值逐步“浮”到末尾,每轮确定一个最大值位置,具有稳定性但时间复杂度为O(n²),适合小数据量或教学演示;快速排序采用分治策略,选取基准值将数组划分为两部分并递归排序,平均时间复杂度O(n log n),效率高但不稳定,广泛应用于实际场景;堆排序基于最大堆性质,每次取出堆…

    2025年12月15日
    000
  • python归并排序和快速排序比较

    归并排序稳定且时间性能可预测,适用于链表和外部排序;快速排序平均更快、空间效率高,但不稳定,适合内部排序。 归并排序和快速排序都是高效的排序算法,基于分治思想,平均时间复杂度为 O(n log n),但在实现方式、稳定性、空间使用和实际表现上有明显区别。下面从几个关键方面进行比较。 1. 基本原理与…

    2025年12月14日
    000
  • Python如何实现排序_Python排序算法与应用实例

    Python内置排序基于Timsort算法,结合归并排序与插入排序,兼具高效性与稳定性,适用于绝大多数场景;日常开发应优先使用list.sort()或sorted(),仅在学习、特定数据分布或极端优化需求下才考虑手写排序算法。 Python实现排序主要依赖其内置的 list.sort() 方法和 s…

    2025年12月14日
    000
  • python怎么排序列表_python列表排序方法大全

    Python中排序列表最常用的方法是list.sort()和sorted()函数。list.sort()直接修改原列表,不返回新列表,适用于无需保留原始顺序的场景;sorted()则返回一个新的已排序列表,原列表保持不变,适合需要保留原始数据的情况。两者均支持reverse参数进行降序排序,并使用高…

    2025年12月14日
    000
  • python怎么选择排序

    在Python中,可以使用选择排序算法对一个列表进行排序。选择排序的基本思路是每次从未排序的部分中选出最小(或最大)的元素,然后将其放到已排序部分的末尾即可。 本教程操作系统:windows10系统、Python3.11.4版本、Dell G3电脑。 在 Python 中,可以使用选择排序算法对一个…

    2025年12月13日
    000
  • pandas排序有哪些方法

    pandas排序的方法有:1、使用sort_values()方法;2、使用sort_index()方法;3、使用order()方法;4、使用sort()方法;5、使用nlargest()和nsmallest()方法等。详细介绍:1、使用sort_values()方法,用于对数据框或Series对象进…

    2025年12月13日
    000
  • Python程序用于按列对2D数组进行排序

    当声明二维数组或二维数组时,它被视为矩阵。所以,我们知道矩阵由行和列组成。按升序或降序对属于矩阵特定列的元素进行排序的过程称为跨列对 2D 数组进行排序。让我们考虑一个算法和一个输入输出场景,以了解这个概念的确切应用。 输入输出场景 考虑一个二维数组。 arr = [[ 7, 9, 5, 7 ], …

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信