鸡尾酒排序

来源:互联网 发布:许嵩 以网络歌手唱的歌 编辑:程序博客网 时间:2024/04/28 00:07

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

 

#include<cstdio>void cocktail_sort(int A[],int n){int i,j,temp;bool flag;for(i=1;i<=n/2;i++){flag=true;for(j=i;j<=n-i;j++){if(A[j+1]<A[j]){temp=A[j+1];A[j+1]=A[j];A[j]=temp;flag=false;}}if(flag)return ;flag=true;for(j=n-i;j>i;j--){if(A[j-1]>A[j]){temp=A[j-1];A[j-1]=A[j];A[j]=temp;flag=false;}}if(flag)return ;}}int main(){int A[100],i;while(scanf("%d",&A[0])!=EOF){for(i=1;i<=A[0];i++)scanf("%d",&A[i]);cocktail_sort(A,A[0]);for(i=1;i<=A[0];i++)printf("%d ",A[i]);printf("\n");}return 0;}