鸡尾酒排序基于冒泡排序,双向循环

还是看例子吧,给定待排数组[2 3 4 5 1]

第一趟过去时的每一步

第一步迭代,2 < 3不换

[2 3 4 5 1]

第二步迭代,3 < 4不换

[2 3 4 5 1]

第三步迭代,4 < 5不换

[2 3 4 5 1]

第四步迭代,5 > 1交换

[2 3 4 1 5]

第一趟回来时的第一步,鸡尾酒一次到头后就回返回来,再到头后再过去,来回比,一个来回能排两个数字

第五步迭代,1 < 5不交换

[2 3 4 1 5]

第六步迭代,1 < 4交换

[2 3 1 4 5]

第七步迭代,1 < 3交换

[2 1 3 4 5]

第八步迭代,2 > 1交换

[1 2 3 4 5]

排序完毕,顺序输出结果即可得[ 1 2 3 4 5]

经典排序算法(九)--鸡尾酒排序Cocktail Sort相关推荐

  1. 十大经典排序算法之鸡尾酒排序

    package test;public class 鸡尾酒排序 {//如果左边大于右边则交换void Swap(int a[],int i,int j) {int temp=a[i];a[i]=a[j ...

  2. 鸡尾酒排序算法c语言源代码,排序算法之鸡尾酒排序

    5.3 鸡尾酒排序(Cocktail sort) 既然介绍了冒泡排序.就不得不说一下冒泡排序最为重要的一个变种--鸡尾酒排序(也称为定向冒泡排序).此算法与冒泡排序的不同之处在于鸡尾酒排序是双向进行的 ...

  3. 排序算法之鸡尾酒排序

    鸡尾酒排序 鸡尾酒排序其实冒泡排序的一种变形,或者说改进.又称为涟漪排序.单从鸡尾酒这个名字看不出来到底是如何实现排序. 常见的冒泡排序是始终是按一个方向来进行排序,找到最大或者最小值.而鸡尾酒排序则 ...

  4. 经典排序算法 - 鸽巢排序Pigeonhole sort

    经典排序算法 - 鸽巢排序Pigeonhole sort 原理类似桶排序,同样需要一个很大的鸽巢[桶排序里管这个叫桶,名字无所谓了] 鸽巢其实就是数组啦,数组的索引位置就表示值,该索引位置的值表示出现 ...

  5. 经典排序算法(一) —— Selection Sort 选择排序

    经典排序算法(一) -- Selection Sort 选择排序 文章目录 经典排序算法(一) -- Selection Sort 选择排序 简介 排序过程 实现 复杂度 简介 选择排序是一种简单直观 ...

  6. Java经典排序算法:选择排序,动图演示排序过程

    Java经典排序算法:选择排序,动图演示排序过程 示意动图: public class Main {public static void main(String[] args) {new Main() ...

  7. 排序算法九:基数排序

    排序算法九:基数排序 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 引言 在我的博文<"主宰世界"的10种算法短评>中给出的 ...

  8. 【排序算法】选择排序(Selection sort)

    选择排序(Selection sort)是一种简单直观的排序算法. 选择排序介绍 它的基本思想是: 首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置:接着,再从剩余未排序的元 ...

  9. DSA之十大排序算法第六种:Quick Sort

    快速排序 2019年8月23日17:45:21 之前我们已经分析过 冒泡排序,我建议:当你在看这篇博客的时候,请先回顾 冒泡排序:详见DSA之十大排序算法第一种:Bubble sort 文章目录 一次 ...

  10. 经典排序算法之希尔排序

    排序:希尔排序(算法) 一.简介 希尔排序(Shell Sort)是插入排序的一种算法,是对直接插入排序的一个优化,也称缩小增量排序. 希尔排序是非稳定排序算法. 希尔排序因DL.Shell于1959 ...

最新文章

  1. 如何从ATS获取客户端平均响应时间(单位,毫秒)?
  2. pthread_create函数编译时报错:undefined reference to 'pthread_create'
  3. 游戏中常用的寻路算法的分享(4)处理移动中的障碍物
  4. 设置网格_设置一个自动运行网格条件单
  5. 10-3 5-3 查询生产最高速度的计算机(PC或便携式电脑)厂商 (20 分)
  6. windows linux双系统_还在安装双系统? 试试 Windows 和 Linux 合体
  7. 使用TensorFlow.js从网络摄像头进行实时AI情感检测
  8. linux fstab 权限,linux中fstab文件配置简介
  9. Hashtable 为什么不叫 HashTable?
  10. VB 全局Hook鼠标消息
  11. java中使用switch case报错case expressions must be constant expressions
  12. .Net下二进制形式的文件(图片)的存储与读取(转载)
  13. [HAOI2006]聪明的猴子
  14. libmaxminddb
  15. Linux平台开源浏览器
  16. 画二元函数即三维图像的函数及matlab代码
  17. 没有NumLock键的小键盘误触变成方向键
  18. 计算机想ping一下网络,怎么ping网速(详细教您ping网络的方法)
  19. Burp Suite使用介绍
  20. cocos3.X拖动精灵移动

热门文章

  1. Withdrawal symptoms
  2. Redis集群生产环境高可用方案实战过程
  3. scrapy 快速入门
  4. 新版本发布潮:Ceylon 1.2、Node.js 5.0和Atom 1.1
  5. HDU 2196 Computer 树形DP
  6. 这样一群人 致踏上CCIE之路的兄弟们!
  7. 根据开始日期和结束日期获取基金的当天净值,并计算收益率
  8. 7.jenkins 发布邮件
  9. 20. 静态区块(Static Blocks)
  10. 18.Argument replacement