鸡尾酒排序(Cocktail ordering)
鸡尾酒排序,也叫定向冒泡排序,是冒泡排序的一种改进。此算法与冒泡排序的不同之处在于从低到高排然后从高到低,而冒泡排序则仅从低到高去比较序列中的每个元素,可以得到比冒泡排序稍微好一点的效能。
最差时间复杂度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)相关推荐
- C语言鸡尾酒排序cocktail sort算法(附完整源码)
鸡尾酒排序cocktail sort算法 鸡尾酒排序cocktail sort算法的完整源码(定义,实现,main函数测试) 鸡尾酒排序cocktail sort算法的完整源码(定义,实现,main函 ...
- 经典排序算法 - 鸡尾酒排序Cocktail sort
经典排序算法 - 鸡尾酒排序Cocktail sort 鸡尾酒排序基于冒泡排序,双向循环 还是看例子吧,给定待排数组[2 3 4 5 1] 第一趟过去时的每一步 第一步迭代,2 < 3不换 [2 ...
- 鸡尾酒排序Cocktail Sort
鸡尾酒排序,也就是定向冒泡排序,鸡尾酒搅拌排序,搅拌排序(也可以视作选择排序的一种变形),涟漪排序,来回排序or 快乐小时排序,是冒泡排序的一种变形.此算法与冒泡排序的不同处在于排序时是以双向在序列中 ...
- 鸡尾酒排序(Cocktail sort)
package com.ww.algorithm.sort.exchange;import org.junit.Test;import java.util.Arrays;/*** 鸡尾酒排序:冒泡排序 ...
- 鸡尾酒排序Cocktail Sort(排序算法九)
1.算法原理 2.代码实现 #include <stdio.h>//printArray打印出数组 void printArray(int a[],int size){ printf(&q ...
- 鸡尾酒排序算法c语言,[golang] 数据结构-鸡尾酒排序
吐个槽 又是一个不正经取名的排序算法.真要说和鸡尾酒间的关系,大概就是想喝到鸡尾酒(得到排序好的队列)就要摇晃酒杯让不同的成分混合均匀(向两个方向冒泡排序) 原理 鸡尾酒排序(Cocktail Sor ...
- 鸡尾酒排序算法c语言源代码,排序算法之鸡尾酒排序
5.3 鸡尾酒排序(Cocktail sort) 既然介绍了冒泡排序.就不得不说一下冒泡排序最为重要的一个变种--鸡尾酒排序(也称为定向冒泡排序).此算法与冒泡排序的不同之处在于鸡尾酒排序是双向进行的 ...
- [排序]鸡尾酒排序算法实现
作者 zhonglihao 算法名 鸡尾酒排序 Cocktail Sort 分类 排序 复杂度 % 大概是1/2 * n^2时间复杂度 形式与数据结构 Matlab代码 特性 来回顺序倒序排序 具体参 ...
- python代码实现鸡尾酒排序(双向冒泡排序)
python代码实现鸡尾酒排序(双向冒泡排序) 鸡尾酒排序是冒泡排序的一种变形.它与冒泡排序的不同之处在于排序时是以双向在序列中进行排序. 鸡尾酒排序的原理跟冒泡排序差不多,只不过冒泡排序每一轮的比较 ...
最新文章
- 学会这八个技术,你离 BAT 大厂不远了
- 查询慢 跑批慢 性能低怎么办? | 润乾高性能计算专家
- 使用 rsync / scp 命令下载linux文件,显示网速和进度
- FTP协议、电子邮件系统与Telnet远程控制
- 【Tensorflow】Tensor的比较运算
- python自动化测试框架哪个好_Python 自动化测试框架unittest与pytest的区别
- 写爬虫时遇到的问题及解决方法
- 谷歌浏览器如何安装插件-以octotree为例
- selenium实现自动登录B站
- 15亿美元!软银联合GungHo收购手游巨头Supercell
- 日期计算器输入天数计算日期_计算日期范围内的活动
- html table td 居中显示,table td怎么垂直居中显示 详解table中如何隐藏td?
- 麒麟v10 sp1 桌面系统分辨率调整
- 负数在计算机中到底是如何表示的
- 我在华清的嵌入式课程笔记(至2020.7.5)
- ChinaSkills-网络系统管理(无线地勘部分评分标准)
- 剖析SQL Server 2005查询通知之基础篇
- 编译GPU版本Matconvnet
- Linux读取串口数据
- 小奔用MD编辑器写博客的相应操作