氣泡排序
#includeusing namespace std;
int a=;
void printarr(int *a,int length)
} if(flag)
break;
} printarr(a,length);
return 0;
}
應用習題:
車廂重組
在乙個舊式的火車站旁邊有一座橋,其橋面可以繞河中心的橋墩水平旋轉。乙個車站的職工發現橋的長度最多能容納兩節車廂,如果將橋旋轉180度,則可以把相鄰兩節車廂的位置交換,用這種方法可以重新排列車廂的順序。於是他就負責用這座橋將進站的車廂按車廂號從小到大排列。他退休後,火車站決定將這一工作自動化,其中一項重要的工作是編乙個程式,輸入初始的車廂順序,計算最少用多少步就能將車廂排序。
輸入
輸入檔案有兩行資料,第一行是車廂總數n(不大於10000),第二行是n個不同的數表示初始的車廂順序。
輸出乙個資料,是最少的旋轉次數。
輸入樣例4
4 3 2 1
輸出樣例6
歐陽的解
#includeusing namespace std;
int main()
} if(flag)
break;
} cout《插入排序#includeusing namespace std;
int main()
//輸出
for(int i=0;i彭星霖的方法
#includeusing namespace std;
int main() ;
for(int i=1; i<4; i++)
if(a[i]桶排序#includeusing namespace std;
int main();
int k[101];
memset(k,0,sizeof(k));
int n=sizeof(a)/4;
for(int i=0;i0)
cout《快速排序#includeusing namespace std;
void mysort(int *a,int l,int r)
while(i<=mid)
r[k++]=a[i++];
while(j<=e)
r[k++]=a[j++];
for(int i=s;i<=e;i++)
a[i]=r[i];
} int main();
int n = sizeof(a)/4;
int r[n];
mysort(r,a,0,n-1);//對s到e個元素進行分解後歸併
for(int i=0;icout
}
排序(冒泡 選擇 插入 快速 歸併)
今天把之前寫的排序整理了一下,之前寫的有點亂,現在把這些整合在一起,後續在接觸到別的排序演算法會繼續在這篇博文上新增。排序演算法一 氣泡排序public static void bubblesort for int i 0 iarray j 1 for int tem array 排序演算法二 選擇...
排序 冒泡 插入 選擇 快速 歸併
public class sorttest bubblesort array insertsort array selectsort array quicksort array mergesort array for int i 0 i array.length i 氣泡排序 param array...
c排序演算法 選擇 冒泡 插入 快速 歸併 堆排序
1.選擇排序法 includeint main int n 5,i,k,b,x for b 0 b 4 b printf n for i 0 i n 1 i for b 0 b 4 b printf n return 0 2.氣泡排序法 includeint main int n 5,i,k,b,x...