趁著重新學習c語言這個機會自己再來學習下排序演算法
接下來說說我的理解。氣泡排序,可以想象成水中有很多小水泡,每一次通過兩兩交換,把底下最大的泡泡浮到水面
那麼接下來怎麼實現這個兩個數的交換?
既然是交換,就得模擬兩個可以交換的數,在所有的排序演算法中都是用兩層迴圈來解決;第一次迴圈的從0到n。排了一次,所以要把所有的數排就需要用到兩層迴圈!!
兩個for迴圈
好,那麼每一層迴圈體是怎麼實現我們想要的過程呢,這個就關鍵了。如果迴圈體是從第乙個數開始,第一次迴圈自然是從0開始,第二層迴圈從第二個數開始也就是j=i+1;
比較相鄰兩個數,用 陣列下標 j和j+1兩個數進行比較
通過整理思路就可以把排序演算法理出來了
先來個c語言的吧:
void maopao( int *nnum,int count )}}
排序演算法之氣泡排序
參考 氣泡排序演算法的運作如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。若...
排序演算法之氣泡排序
對於大多數學計算機的人來說,氣泡排序應該都是接觸的第一種排序方式,氣泡排序的排序思想是比較簡單的,它的演算法的是 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了...
排序演算法之氣泡排序
氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢 浮 到數列的頂端,...