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

最差时间复杂度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. Android 拨号器
  2. CMB中相关仪器设备和术语
  3. python基础实验报告答案_Python基础(上)实验报告
  4. java opengl_java基于OpenGL ES实现渲染实例
  5. 眼图在通信系统中有什么意义_解读CRM系统在企业中有什么作用
  6. next.js 简单使用
  7. QDoc包括图片includingimages
  8. 我的web聊天之---序章
  9. 好代码是管出来的——使用Git来管理源代码
  10. 深度学习博士灵魂拷问:我们在做算法还是在调参?
  11. Android 7.0判断栈顶Activity错误 几率显示为launcher
  12. PHP教程 数据库和MySQL_PHP教程 - MySQL 创建数据库和表
  13. delphi连接SQL2005做的数据库管理系统的一些部署问题
  14. Activity返回值
  15. 分享CodeIgniter上传图片成功的全过程
  16. ASP.NET教程4
  17. 手机点餐系统概述_自助点餐、自助收银......在餐饮行业有哪些智慧化场景?
  18. ios、android、h5、小程序等安卓苹果平台终端兼容问题
  19. CSS3如何实现DIV圆角边框
  20. git:info: detecting host provider for ‘https://gitee.com/‘...

热门文章

  1. .dat跟.txt的区别
  2. NK.bin和NK.nb0详解
  3. Python - 接入钉钉机器人
  4. htmlcss小白标签篇
  5. 如何解决移动直播下的耳返延迟问题
  6. ERROR ITMS-90717: “Invalid App Store Icon. The App Store Icon in the asset catalog in ‘HBuilder.app‘
  7. 基于最小二乘法的无线定位
  8. 安徽工业大学计算机学院在东校区还是西校区?,安工大东校区附近学校
  9. C. Dolce Vita
  10. 影响全马破三的因素分析