奇偶数排序算法讲解

奇偶排序算法是一种有趣的排序方式,它通过交替处理奇数和偶数位置的元素来达到排序目的。首先从偶数位开始,然后是奇数位,不断重复此过程,直到数组排序完成。举例来说,对于数组[10, 12, 7, 5],经过多次比较和交换,最终将排序为[5, 7, 10, 12]。该算法可以通过Java、Python和Go等语言进行实现。" 124137700,13316693,数字孪生技术在交通管理中的应用与挑战,"['交通管理', '智能驾驶', '数字孪生技术', '智慧高速', '车路协同']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法看多了也脑袋疼,这不,奇偶算法,这名字怪怪的,也不知道哪位大神想出来的这个算法

看名字大概也知道,排序跟奇偶位数有关,嗯,你猜到了重点

奇偶排序是这样的,先奇数位和它右侧的数据进行排序,然后偶数位和它右侧的数据进行排序,从而得到最终结果

我们来举个例子,有数组[10, 12, 7, 5]

先选偶位还是先选奇位,看你的代码了

①我们选择偶数位  10  7

10和它右边的12比,嗯,是顺序的,所以保持不变

7和它右边的5比,7比5大,互换顺序,结果为[10, 12, 5, 7]

 

②我们选择奇数位 12  7

12和它右边的5比,12比5大,互换顺序,结果为[10, 5, 12, 7]

因为7右边没有数据,不进行比较排序

 

③我们选择偶数位 10  12

10和它右边的5比,10比5大,互换顺序,结果是[5, 10, 12, 7]

12和它右边的7比,12比7大,互换顺序,结果是[5, 10, 7, 12]

 

④我们选择奇数位 10 12

10和它右边的7比,10比7大,互换顺序,结果是[5, 7, 10, 12]

因为12右边没有数据,不进行比较排序

 

⑤我们选择偶数位  5 10

………………

…………

……

直至每个都确认一遍之后,之后结果为

[5, 7, 10, 12]

(排序次数和结果如下

[10, 12, 7, 5]
[10, 12, 5, 7]
[10, 5, 12, 7]
[5, 10, 12, 7]
[5, 10, 7, 12]
[5, 7, 10, 12]
[5, 7, 10, 12]
[5, 7, 10, 12]
[5, 7, 10, 1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值