這一篇部落格主要寫的是氣泡排序演算法,常見的排序演算法有:冒泡、插入、選擇、快速、希爾、歸併、堆排序,那麼今天我所介紹的是氣泡排序演算法。
時間複雜度一般指的是平均時間複雜度,即指的迴圈體的執行次數。
空間複雜度是指需要額外開闢的空間。
氣泡排序是一種簡單的排序演算法。從第乙個數開始,重複地走訪要排序的數列,一次比較兩個元素,依次進行比較,如果他們的順序錯誤,就把它們換過來,走訪數列的工作是重複地進行直到沒有再需要交換的數,也就是數列已經排序完成。
氣泡排序分從大到小和從小到大兩種排序方式。它們的唯一區別就是兩個數交換的條件不同,從大到小排序是前面的數比後面的小的時候交換,而從小到大排序是前面的數比後面的數大的時候交換。我這裡只說 從小到大的排序方式。
int
arr=
;for
(int i=
1;i}
氣泡排序的時間複雜度為o(n2),空間複雜度為o(1),氣泡排序是一種穩定的排序演算法。 氣泡排序演算法實現
氣泡排序基本思想 將n個記錄看作按縱向排列,每趟排序時自下至上對每對相鄰記錄進行比較,若次序不符合要求 逆序 就交換。每趟排序結束時都能使排序範圍內關鍵字最小的記錄象乙個氣泡一樣公升到表上端的對應位置,整個排序過程共進行n 1趟,依次將關鍵字最小 次小 第三小 的各個記錄 冒到 表的第乙個 第二個 ...
實現氣泡排序演算法
氣泡排序 bubble sort 是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢 浮 到數列的頂端,故名。氣泡排序演...
氣泡排序演算法實現
氣泡排序,顧名思義就跟生活中的 冒泡 現象相似 大的泡泡被壓在下面就會自主地往上浮起。在陣列中,如果讓乙個無序的陣列有序 例如公升序 那麼在陣列左側的較大的數就應該自主地向右移動。因此,從左向右開始,依次與相鄰的 右側 數進行比較,如果arr i arr i 1 則交換二者位置,i就變為了i 1 即...