鸡尾酒排序,也叫定向冒泡排序,是冒泡排序的一种改进。此算法与冒泡排序的不同之处在于从低到高排然后从高到低,而冒泡排序则仅从低到高去比较序列中的每个元素,可以得到比冒泡排序稍微好一点的效能。

最差时间复杂度O(n^2)

最优时间复杂度-如果序列在一开始已经大部分排列过的话,会接近o(n)

平均复杂度-o(n^2)

稳定排序

#include<iostream>
#include<cstdio>using namespace std;const int maxn=10;int n,s[maxn];void Cocktailsort()
{int left=0;int right=n-1;while(left<right){//前半轮,将最大元素放到后面for(int i=left;i<right;i++){if(s[i]>s[i+1]){swap(s[i],s[i+1]);}}right--;//后半轮,将最小元素放到前面for(int i=right;i>left;i--){if(s[i]<s[i-1]){swap(s[i],s[i-1]);}}left++;}
}int main()
{scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&s[i]);}Cocktailsort();for(int i=0;i<n;i++){printf("%d ",s[i]);}cout<<endl;return 0;
}

鸡尾酒排序(Cocktail ordering)相关推荐

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

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

  2. 经典排序算法 - 鸡尾酒排序Cocktail sort

    经典排序算法 - 鸡尾酒排序Cocktail sort 鸡尾酒排序基于冒泡排序,双向循环 还是看例子吧,给定待排数组[2 3 4 5 1] 第一趟过去时的每一步 第一步迭代,2 < 3不换 [2 ...

  3. 鸡尾酒排序Cocktail Sort

    鸡尾酒排序,也就是定向冒泡排序,鸡尾酒搅拌排序,搅拌排序(也可以视作选择排序的一种变形),涟漪排序,来回排序or 快乐小时排序,是冒泡排序的一种变形.此算法与冒泡排序的不同处在于排序时是以双向在序列中 ...

  4. 鸡尾酒排序(Cocktail sort)

    package com.ww.algorithm.sort.exchange;import org.junit.Test;import java.util.Arrays;/*** 鸡尾酒排序:冒泡排序 ...

  5. 鸡尾酒排序Cocktail Sort(排序算法九)

    1.算法原理 2.代码实现 #include <stdio.h>//printArray打印出数组 void printArray(int a[],int size){ printf(&q ...

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

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

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

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

  8. [排序]鸡尾酒排序算法实现

    作者 zhonglihao 算法名 鸡尾酒排序 Cocktail Sort 分类 排序 复杂度 % 大概是1/2 * n^2时间复杂度 形式与数据结构 Matlab代码 特性 来回顺序倒序排序 具体参 ...

  9. python代码实现鸡尾酒排序(双向冒泡排序)

    python代码实现鸡尾酒排序(双向冒泡排序) 鸡尾酒排序是冒泡排序的一种变形.它与冒泡排序的不同之处在于排序时是以双向在序列中进行排序. 鸡尾酒排序的原理跟冒泡排序差不多,只不过冒泡排序每一轮的比较 ...

最新文章

  1. 学会这八个技术,你离 BAT 大厂不远了
  2. 查询慢 跑批慢 性能低怎么办? | 润乾高性能计算专家
  3. 使用 rsync / scp 命令下载linux文件,显示网速和进度
  4. FTP协议、电子邮件系统与Telnet远程控制
  5. 【Tensorflow】Tensor的比较运算
  6. python自动化测试框架哪个好_Python 自动化测试框架unittest与pytest的区别
  7. 写爬虫时遇到的问题及解决方法
  8. 谷歌浏览器如何安装插件-以octotree为例
  9. selenium实现自动登录B站
  10. 15亿美元!软银联合GungHo收购手游巨头Supercell
  11. 日期计算器输入天数计算日期_计算日期范围内的活动
  12. html table td 居中显示,table td怎么垂直居中显示 详解table中如何隐藏td?
  13. 麒麟v10 sp1 桌面系统分辨率调整
  14. 负数在计算机中到底是如何表示的
  15. 我在华清的嵌入式课程笔记(至2020.7.5)
  16. ChinaSkills-网络系统管理(无线地勘部分评分标准)
  17. 剖析SQL Server 2005查询通知之基础篇
  18. 编译GPU版本Matconvnet
  19. Linux读取串口数据
  20. 小奔用MD编辑器写博客的相应操作

热门文章

  1. Lambda表达式语法及应用
  2. python爬虫数据怎么保存成excel代码
  3. 耳穴诊疗记录0526-内人舌头苔厚微黄
  4. 环信即时通讯 聊天室、发红包
  5. 我的世界小游戏服务器开服制作教程,《我的世界》服务器制作技巧 简单架设开服...
  6. 适合女性的4个计算机相关岗位,薪资待遇好,未来前景广阔
  7. 广域网技术之HDLC和ppp原理与配置
  8. 数学建模 案例分析——“建立可持续发展的社区智能增长策略”
  9. CPU处理器 术语解释 外频
  10. HttpClient 带参数get请求