鸡尾酒排序(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代码实现鸡尾酒排序(双向冒泡排序) 鸡尾酒排序是冒泡排序的一种变形.它与冒泡排序的不同之处在于排序时是以双向在序列中进行排序. 鸡尾酒排序的原理跟冒泡排序差不多,只不过冒泡排序每一轮的比较 ...
最新文章
- Android 拨号器
- CMB中相关仪器设备和术语
- python基础实验报告答案_Python基础(上)实验报告
- java opengl_java基于OpenGL ES实现渲染实例
- 眼图在通信系统中有什么意义_解读CRM系统在企业中有什么作用
- next.js 简单使用
- QDoc包括图片includingimages
- 我的web聊天之---序章
- 好代码是管出来的——使用Git来管理源代码
- 深度学习博士灵魂拷问:我们在做算法还是在调参?
- Android 7.0判断栈顶Activity错误 几率显示为launcher
- PHP教程 数据库和MySQL_PHP教程 - MySQL 创建数据库和表
- delphi连接SQL2005做的数据库管理系统的一些部署问题
- Activity返回值
- 分享CodeIgniter上传图片成功的全过程
- ASP.NET教程4
- 手机点餐系统概述_自助点餐、自助收银......在餐饮行业有哪些智慧化场景?
- ios、android、h5、小程序等安卓苹果平台终端兼容问题
- CSS3如何实现DIV圆角边框
- git:info: detecting host provider for ‘https://gitee.com/‘...
热门文章
- .dat跟.txt的区别
- NK.bin和NK.nb0详解
- Python - 接入钉钉机器人
- htmlcss小白标签篇
- 如何解决移动直播下的耳返延迟问题
- ERROR ITMS-90717: “Invalid App Store Icon. The App Store Icon in the asset catalog in ‘HBuilder.app‘
- 基于最小二乘法的无线定位
- 安徽工业大学计算机学院在东校区还是西校区?,安工大东校区附近学校
- C. Dolce Vita
- 影响全马破三的因素分析