鸡尾酒排序讲解

鸡尾酒排序是冒泡排序的一种,又称为来回排序。它比冒泡排序要高级点,为何这么说呢

冒泡排序是先找最大,然后找第二大,然后一直找完

鸡尾酒排序是这样的,先找最大,再找最小,然后找第二大,再找第二小,依次类推,直至找不到了为止

举例,有数组[6, 4, 5, 1, 8, 7, 2, 3]

先从左到右两两比较并排序,直到8排到最右边

[4, 6, 5, 1, 8, 7, 2, 3]
[4, 5, 6, 1, 8, 7, 2, 3]
[4, 5, 1, 6, 8, 7, 2, 3]
[4, 5, 1, 6, 8, 7, 2, 3]
[4, 5, 1, 6, 7, 8, 2, 3]
[4, 5, 1, 6, 7, 2, 8, 3]
[4, 5, 1, 6, 7, 2, 3, 8]

然后再从右到左两两比较并排序,直到1排到最左边

[4, 5, 1, 6, 7, 2, 3, 8]
[4, 5, 1, 6, 7, 2, 3, 8]
[4, 5, 1, 6, 2, 7, 3, 8]
[4, 5, 1, 2, 6, 7, 3, 8]
[4, 5, 1, 2, 6, 7, 3, 8]
[4, 1, 5, 2, 6, 7, 3, 8]
[1, 4, 5, 2, 6, 7, 3, 8]

然后把7排到倒数第二

[1, 4, 5, 2, 6, 7, 3, 8]
[1, 4, 5, 2, 6, 7, 3, 8]
[1, 4, 2, 5, 6, 7, 3, 8]
[1, 4, 2, 5, 6, 7, 3, 8]
[1, 4, 2, 5, 6, 7, 3, 8]
[1, 4, 2, 5, 6, 3, 7, 8]

然后把二排到正数第二

[1, 4, 2, 5, 6, 3, 7, 8]
[1, 4, 2, 5, 6, 3, 7, 8]
[1, 4, 2, 5, 6, 3, 7, 8]
[1, 4, 2, 5, 3, 6, 7, 8]
[1, 4, 2, 3, 5, 6, 7, 8]
[1, 4, 2, 3, 5, 6, 7, 8]
[1, 2, 4, 3, 5, 6, 7, 8]

………………

依次类推,得到[1, 2, 3, 4, 5, 6, 7, 8]

有人会问什么时候结束,我们可以设置一个变量,如果有排序变化时,变量值改变,如果没有则不变,如果排序结束之后还没变,则表示排序已经是ok的了

代码实现

java实现鸡尾酒排序

python实现鸡尾酒排序

go实现鸡尾酒排序


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部