冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。
冒泡排序算法的運作如下:(從后往前)比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。針對所有的元素重復以上的步驟,除了最后一個。持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。
實現代碼如下:
#include <iostream>using namespace std;void PRint(int a[], int n ){ cout<<n <<":"; for(int j= 0; j<n; j++){ cout<<a[j] <<" "; } cout<<endl; } void InsertSort(int a[], int n) { for(int i= 0; i < n; i++) { int tmp = 0; for (int j = i+1; j < n; j++) { if (a[i] > a[j]) { tmp = a[i]; a[i] = a[j]; a[j] = tmp; } } print(a,n); } } int main(){ int a[9] = {3,1,5,7,2,4,9,6,2}; InsertSort(a,9); print(a,9); } 計算結果如下:9:1 3 5 7 2 4 9 6 2
9:1 2 5 7 3 4 9 6 2
9:1 2 2 7 5 4 9 6 3
9:1 2 2 3 7 5 9 6 4
9:1 2 2 3 4 7 9 6 5
9:1 2 2 3 4 5 9 7 6
9:1 2 2 3 4 5 6 9 7
9:1 2 2 3 4 5 6 7 9
9:1 2 2 3 4 5 6 7 9
9:1 2 2 3 4 5 6 7 9
新聞熱點
疑難解答
圖片精選