核心演算法:氣泡排序
冒泡法的基本思路是,如果要對n個數進行氣泡排序,那麼要進行n-1趟比較,在第1趟比較中要進行n-1次兩兩比較,在第j趟比較中要進行第n-j次兩兩比較。從這個基本思路中就會發現,趟數決定了兩兩比較的次數,這樣就很容易將兩個for迴圈聯絡起來。外層for迴圈決定氣泡排序的趟數,內層for迴圈決定每趟所進行兩兩比較的次數。
第一趟 將n個元素兩兩比較得出較大者,經過n-1次比較,選出最大數,固定在最後,要排序的數就少了乙個;例:從鍵盤輸入10個數,用冒泡法將它們由小到大排序並輸出。第二趟 將n-1個元素兩兩比較得出較大者,經過n-2次比較,選出第二大的數,固定在倒數第二,要排序的數就又少了乙個;
……第n-1趟 對最後剩下的2個數進行比較,經過1次比較,分別放在第一位和第二位。
#include
intmain()
printf
("排序後的順序是:\n");
for(i=
1;i<=
10;i++
)printf
("%5d"
,a[i]);
return0;
}
但是為什麼我想把氣泡排序自定義成函式就不行了呢? 氣泡排序 排序 氣泡排序
既然寫了計組思來想去便打算把資料結構也寫下來,寫的時候總是發現看的時候無法發現的問題,受益良多。交換排序的基本思想 exchange until sorted 順序,分支,迴圈 注意偽 的熟悉 下面介紹兩種交換演算法 首先進行聯想,用乙個圖進行輔助聯想 水冒泡過程 頂部是陣列的begin,底部理解為...
氣泡排序 氣泡排序法
冒泡法是一種簡單的排序方法,它的實現非常簡單。首先對n個專案進行掃瞄,比較相領兩個專案的大小,若發現違背大小次序則進行互換,由此可以使n個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...
選擇排序,氣泡排序,雙向氣泡排序
氣泡排序和選擇排序是最基本的排序方式,要掌握。氣泡排序重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。選擇排序每一趟從待排序的 資料元素 中選出最小 或最大 的乙個元素,順序放在已排好序的數列的...