經典排序演算法 – 奇偶排序Odd-even sort
阿新 • • 發佈:2019-02-17
- //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;
- }