作者 zhonglihao
算法名 鸡尾酒排序 Cocktail Sort
分类 排序
复杂度 % 大概是1/2 * n^2时间复杂度
形式与数据结构 Matlab代码
特性 来回顺序倒序排序
具体参考出处 民间
备注  
clc;clear;close all;n       = 1000;
data    = rand(1,n);
bar(data);add_odd = 0;% 奇偶分开排序
sorted_count = 0;% 已有序
sort_circle = 0;while(1)if(add_odd == 0)sort_circle = sort_circle + 1;sorted_count = 1;for i = 2:1:nif(data(i-1)>data(i))temp = data(i-1);data(i-1) = data(i);data(i) = temp;elsesorted_count = sorted_count + 1;endendif(sorted_count==n)break;endadd_odd = 1;elsesort_circle = sort_circle + 1;sorted_count = 1;for i = n:-1:2if(data(i-1)>data(i))temp = data(i-1);data(i-1) = data(i);data(i) = temp;elsesorted_count = sorted_count + 1;endendif(sorted_count==n)break;endadd_odd = 0;end
end
bar(data);
disp(sort_circle);

[排序]鸡尾酒排序算法实现相关推荐

  1. 理论基础 —— 排序 —— 鸡尾酒排序

    [概述] 鸡尾酒排序也称定向冒泡排序,是一种稳定的排序方法,其是原始冒泡排序的改进,也是交换排序的一种. 定向冒泡排序与冒泡排序的不同在于其从低到高比较,然后再从高到低比较,如此循环往复,直到序列有序 ...

  2. 算法 - 鸡尾酒排序(CocktailShaker_sort)

    目录 引言: 什么是鸡尾酒排序(CocktailShaker_sort)? 鸡尾酒排序的排序原理: 鸡尾酒排序的过程演示: Step 1 : Step 2 : Step 3 : Step 4 : St ...

  3. java 鸡尾酒排序_算法渣-排序-冒泡

    没有一身好内功,招式再多都是空;算法绝对是防身必备,面试时更是不可或缺:跟着算法渣一起从零学算法 定义 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 这个算法的名字由来 ...

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

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

  5. java-数组排序--冒泡排序、鸡尾酒排序、地精排序

    冒泡排序 冒泡排序的思想是,让依次数组中相邻的数进行比较,如果前一个数比后一个数大,则两数进行交换,大的数就会象泡泡一样慢慢浮在水面上了 见图解 稳定性:稳定 时间复杂度:O(n2) 1 public ...

  6. 排序(一)冒泡排序、冒泡改进——鸡尾酒排序、选择排序

    1.冒泡排序 冒泡排序是一种极其简单的排序算法,也是我所学的第一个排序算法.它重复地走访过要排序的元素,依次比较相邻两个元素,如果他们的顺序错误就把他们调换过来,直到没有元素再需要交换,排序完成.这个 ...

  7. c++Cocktail Selection Sort鸡尾酒选择排序的实现算法(附完整源码)

    C++Cocktail Selection Sort鸡尾酒选择排序的实现算法 C++Cocktail Selection Sort鸡尾酒选择排序的实现算法完整源码(定义,实现,main函数测试) C+ ...

  8. C语言鸡尾酒排序cocktail sort算法(附完整源码)

    鸡尾酒排序cocktail sort算法 鸡尾酒排序cocktail sort算法的完整源码(定义,实现,main函数测试) 鸡尾酒排序cocktail sort算法的完整源码(定义,实现,main函 ...

  9. 鸡尾酒排序算法c语言,[golang] 数据结构-鸡尾酒排序

    吐个槽 又是一个不正经取名的排序算法.真要说和鸡尾酒间的关系,大概就是想喝到鸡尾酒(得到排序好的队列)就要摇晃酒杯让不同的成分混合均匀(向两个方向冒泡排序) 原理 鸡尾酒排序(Cocktail Sor ...

最新文章

  1. android 固定底部导航,Android如何实现底部菜单固定到底部
  2. hadoop 2.x安装:不能加载本地库 - 解决libc.so.6 version GLIBC_2.14 not found问题
  3. unity集成openinstall流程
  4. xshell安装与配置,Xftp(不能连接虚拟机解决方法,sudo apt-get install openssh-server,服务没开怎么传输数据?)(虚拟机和windows之间自由复制)
  5. 微型计算机的三级存储体系是,简述存储系统的三级存储体系及分级的目的。
  6. python入门视频教程-Python入门视频全套教程
  7. C#启动前为所有的Form设置统一的Icon
  8. 树、森林和二叉树之间的转换
  9. 定时任务schedule(spring boot )
  10. mysql根据视图update表数据_怎么更新Mysql数据表视图中数据
  11. 撰写MLA格式的毕业论文,需留意下边几个文件格式标准
  12. 芝诺数解|「五」千言万语,都在锅里——重庆火锅
  13. 万字详解大数据平台异地多机房架构实践
  14. tableau货架图制作_Tableau代写制作地图可视化和树形图、条形图
  15. Ubuntu 10.04 LTS 下 Android 4.1.2_r1 源代码的下载
  16. ASCII文件与二进制文件
  17. java abc输出bca_面试题24(写一个函数,例如:给你的 a b c 则输出 abc acb bac bca cab c...
  18. 3dmax和python做3d动画_Autodesk 3ds Max 2015(3D动画制作3dsmax2015)官方中文版下载 - 下载吧...
  19. [3]PCB设计实验|LoRa通信技术|LoRa技术介绍|LoRa开发与应用|物联网学习|3月27日+6月5日
  20. 数字音乐大变局:不再有免费午餐

热门文章

  1. 【饭谈】计算机专业刚毕业该何去何从?博主的亲身经历告诉你....
  2. 谷歌自研 Tensor 芯片,8核CPU,20核GPU……
  3. 超声波AE检测在局部放电中的应用
  4. 大气颗粒物PMF源解析实践技术应用
  5. Ubuntu常用快捷键使用记录
  6. 面试重点——promise原理以及实现
  7. 基于matlab仿真的数字调制与解调设计
  8. 【计网】TCP协议(四)
  9. ABAQUS模拟裂纹扩展方法——Debond
  10. 菲尼克斯电源 - QUINT-PS/1AC/24DC/20 - 2866776