排序2--氣泡排序
阿新 • • 發佈:2018-12-15
氣泡排序: 基本思想:通過兩兩比較,如果低位比高位大,則進行交換,每次排序,我們都可以發現有一個最大的排號,感覺就是倒著排序,從右向做左看,依此慢慢 排序好。故可以倒著看。
具體實現程式碼如下:
#include<iostream> using namespace std; //氣泡排序 void SelectSort(int a[], int n) { int i, j, temp; for (i=0;i<n-1;i++) #其實這個i<n還是小於n-1;執行結果不變。 for (j=0;j<n-1-i;j++) #執行(n-1)次 冒泡的次數 決定冒泡的位置,這個n必須減低1。因為a[0]和a[1]比較,a[2]和a[3]比較,一直到a[n-1]和a[n]比較,故j只能最大取n-1; if (a[j] > a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } int main() { int a[10], i, n = 10, num = 10; for (i = 0; i < n; i++) a[i] = num--; cout << "原序列:\n"; for (i = 0; i < n; i++) cout << a[i] << " "; SelectSort(a, n); cout << "排序後:\n"; for (i = 0; i < n; i++)cout << a[i] << " "; return 0; }