[排序]鸡尾酒排序算法实现
作者 | 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);
[排序]鸡尾酒排序算法实现相关推荐
- 理论基础 —— 排序 —— 鸡尾酒排序
[概述] 鸡尾酒排序也称定向冒泡排序,是一种稳定的排序方法,其是原始冒泡排序的改进,也是交换排序的一种. 定向冒泡排序与冒泡排序的不同在于其从低到高比较,然后再从高到低比较,如此循环往复,直到序列有序 ...
- 算法 - 鸡尾酒排序(CocktailShaker_sort)
目录 引言: 什么是鸡尾酒排序(CocktailShaker_sort)? 鸡尾酒排序的排序原理: 鸡尾酒排序的过程演示: Step 1 : Step 2 : Step 3 : Step 4 : St ...
- java 鸡尾酒排序_算法渣-排序-冒泡
没有一身好内功,招式再多都是空;算法绝对是防身必备,面试时更是不可或缺:跟着算法渣一起从零学算法 定义 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 这个算法的名字由来 ...
- 排序算法之鸡尾酒排序
鸡尾酒排序 鸡尾酒排序其实冒泡排序的一种变形,或者说改进.又称为涟漪排序.单从鸡尾酒这个名字看不出来到底是如何实现排序. 常见的冒泡排序是始终是按一个方向来进行排序,找到最大或者最小值.而鸡尾酒排序则 ...
- java-数组排序--冒泡排序、鸡尾酒排序、地精排序
冒泡排序 冒泡排序的思想是,让依次数组中相邻的数进行比较,如果前一个数比后一个数大,则两数进行交换,大的数就会象泡泡一样慢慢浮在水面上了 见图解 稳定性:稳定 时间复杂度:O(n2) 1 public ...
- 排序(一)冒泡排序、冒泡改进——鸡尾酒排序、选择排序
1.冒泡排序 冒泡排序是一种极其简单的排序算法,也是我所学的第一个排序算法.它重复地走访过要排序的元素,依次比较相邻两个元素,如果他们的顺序错误就把他们调换过来,直到没有元素再需要交换,排序完成.这个 ...
- c++Cocktail Selection Sort鸡尾酒选择排序的实现算法(附完整源码)
C++Cocktail Selection Sort鸡尾酒选择排序的实现算法 C++Cocktail Selection Sort鸡尾酒选择排序的实现算法完整源码(定义,实现,main函数测试) C+ ...
- C语言鸡尾酒排序cocktail sort算法(附完整源码)
鸡尾酒排序cocktail sort算法 鸡尾酒排序cocktail sort算法的完整源码(定义,实现,main函数测试) 鸡尾酒排序cocktail sort算法的完整源码(定义,实现,main函 ...
- 鸡尾酒排序算法c语言,[golang] 数据结构-鸡尾酒排序
吐个槽 又是一个不正经取名的排序算法.真要说和鸡尾酒间的关系,大概就是想喝到鸡尾酒(得到排序好的队列)就要摇晃酒杯让不同的成分混合均匀(向两个方向冒泡排序) 原理 鸡尾酒排序(Cocktail Sor ...
最新文章
- android 固定底部导航,Android如何实现底部菜单固定到底部
- hadoop 2.x安装:不能加载本地库 - 解决libc.so.6 version GLIBC_2.14 not found问题
- unity集成openinstall流程
- xshell安装与配置,Xftp(不能连接虚拟机解决方法,sudo apt-get install openssh-server,服务没开怎么传输数据?)(虚拟机和windows之间自由复制)
- 微型计算机的三级存储体系是,简述存储系统的三级存储体系及分级的目的。
- python入门视频教程-Python入门视频全套教程
- C#启动前为所有的Form设置统一的Icon
- 树、森林和二叉树之间的转换
- 定时任务schedule(spring boot )
- mysql根据视图update表数据_怎么更新Mysql数据表视图中数据
- 撰写MLA格式的毕业论文,需留意下边几个文件格式标准
- 芝诺数解|「五」千言万语,都在锅里——重庆火锅
- 万字详解大数据平台异地多机房架构实践
- tableau货架图制作_Tableau代写制作地图可视化和树形图、条形图
- Ubuntu 10.04 LTS 下 Android 4.1.2_r1 源代码的下载
- ASCII文件与二进制文件
- java abc输出bca_面试题24(写一个函数,例如:给你的 a b c 则输出 abc acb bac bca cab c...
- 3dmax和python做3d动画_Autodesk 3ds Max 2015(3D动画制作3dsmax2015)官方中文版下载 - 下载吧...
- [3]PCB设计实验|LoRa通信技术|LoRa技术介绍|LoRa开发与应用|物联网学习|3月27日+6月5日
- 数字音乐大变局:不再有免费午餐