- //Odd-even sort
- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc,char *argv[])
- {
- int array[6]={6,2,4,1,5,9};
- int flag=1,temp,sign;
- //Odd-even sort
- while(flag!=0)
- {
- flag=0;
- //奇数列排序
- for(sign=0;sign<6;sign+=2)
- {
- if(array[sign]>array[sign+1])
- {
- temp=array[sign];
- array[sign]=array[sign+1];
- array[sign+1]=temp;
- flag=1;
- }
- }
- //偶数列排序
- for(sign=1;sign<6;sign+=2)
- {
- if(array[sign]>array[sign+1])
- {
- temp=array[sign];
- array[sign]=array[sign+1];
- array[sign+1]=temp;
- flag=1;
- }
- }
- //这两个for循环应该可以合成一个的,但是不知道怎么做
- }
- //输出排序后的数组
- for(sign=0;sign<6;sign++)
- {
- printf("%d",array[sign]);
- }
- return 0;
- }
经典排序算法 – 奇偶排序Odd-even sort
最新推荐文章于 2022-08-25 20:51:30 发布