鸡尾酒排序
变量D是为了判断数列是否有序,在每次外循环开始的时候都要对D 重新赋值。
在内循环内,如果有序,D为1,终止循环
#include<stdio.h>
int main()
{
int a [9]={1,2,3,4,5,6,7,8,9};int len=9;
for(int i=0;i<len/2;i++)
{
int D =1;
for(int j=i;j<len-i-1;j++)
{
if(a[j]>a[j+1])
{
int tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;D =0;
}
}if(D= =1)break;
D=1;
for(int k=len-i-1;k>i;k–)
{
if(a[k]<a[k+1])
{int tmp=a[k];a[k]=a[k+1];a[k+1]=tmp;D=0;}
}if(D= =1)break;
}
for(int f=0;f<len;f++)
printf("%d",a[f]);
}