【圖解資料結構】 一組動畫演示氣泡排序
氣泡排序(Bubble Sort)也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端。
演算法步驟
-
比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
-
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。
-
針對所有的元素重複以上的步驟,除了最後一個。
-
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
演算法演示
排序動畫過程解釋
-
將天平放在序列的右端,並比較天平左右的數字
-
在這種情況下我們比較 3 和 8
-
比較後如果右邊的數字較小,則被交換
-
因為 8 大於 3 ,所以數字不用交換
-
比較完成後,將天平向左移動一個位置,比較數字
-
因為 3 大於 2 ,所以數字不用交換
-
比較完成後,逐一移動天平,比較數字
-
此時 2 小於 4 ,所以左右的數字互相交換
-
重複同樣的操作,直到天平移動到左端
-
。。。。。。
-
天平到達左端
-
經過上述的操作,數列中最小的數字已經移動到左端
-
將天平返回右端
-
重複相同的操作,直到所有數字都被排序
-
。。。。。。
-
吐完泡泡了
參考程式碼
C++
Java

五分鐘學演算法

