演算法(2)排序之氣泡排序

2021-09-20 15:42:30 字數 787 閱讀 3431

氣泡排序核心思路:

每乙個元素 j 和其後面乙個元素 j+1 比較,如果前者 j 大則交換,無論交換與否,讓後面元素 j+1 何其下乙個元素 j+2 接著進行比較

看圖說明,不想寫流程了

設定指標 i,j ,i 從角標 0 開始,到 n-1 結束,j 每次從 1 開始,到 n-i-1 結束

其實 i 表示的是輪數

第1輪,i 從 0 開始,j 從 0 開始,到 n-i-1(5-0-1=4) 結束;排序後2-3-5-4-8,最大值8出來了

第2輪,i 從 1 開始,j 從 0 開始,到 n-i-1(5-1-1=3) 結束;排序後2-3-4-5-8,倒數第2大值5出來了

以此類推。。。

**奉上:

/**

@author teacher_heng

*/public class bubblesort

}} }

private static void swap(int arr, int i, int j)

}

2 排序演算法 氣泡排序

氣泡排序 bubble sort 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。作為最簡單...

001 排序演算法 氣泡排序

對於基礎的說明可以參看 001 資料結構與演算法基本概念 002 資料結構之演算法的時間複雜度和空間複雜度 氣泡排序 bubble sort 又被稱為氣泡排序或泡沫排序。它是一種較簡單的排序演算法。規則 每次比較兩個相鄰的元素,將較大的元素交換至右端。排序方法 時間複雜度 平均 時間複雜度 最壞 時...

(1)排序之氣泡排序

氣泡排序是一種交換排序。什麼是交換排序呢?交換排序 兩兩比較待排序的關鍵字,並交換不滿足次序要求的那對數,直到整個表都滿足次序要求為止。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算...