冒泡排序應該是最容易實現的一種排序算法了。其基本思想是:依次比較相鄰的兩個數,將小數放在前面,大數放在后面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放后。然后比較第2個數和第3個數,將小數放前,大數放后,如此繼續,直至比較最后兩個數,將小數放前,大數放后。至此第一趟結束,將最大的數放到了最后。以此類推,直至排序完成。
以下是我用C++實現的冒泡排序:
//冒泡排序 int* BubbleSort(int* ary, int length) { int i, j, tmp; for(i=0; i<length-1; i++) { tmp = ary[i]; for(j=length-1; j>i; j--) { //找到數組中最小的數,並交換 if(tmp > ary[j]) { ary[i] = ary[j]; ary[j] = tmp; tmp = ary[i]; } } } return ary; }
