氣泡排序:在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即:每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。
public
static
void
bubblesort(int arr)
}//輸出結果
system.out.print((i+1) + "times: ");
for (int k = 0; k < length && flag; k++)
system.out.println();
}}
執行結果:
source: 8 3 6 5 9 4 10 7 1 2
1times: 1 8 3 6 5 9 4 10 7 2
2times: 1 2 8 3 6 5 9 4 10 7
3times: 1 2 3 8 4 6 5 9 7 10
4times: 1 2 3 4 8 5 6 7 9 10
5times: 1 2 3 4 5 8 6 7 9 10
6times: 1 2 3 4 5 6 8 7 9 10
7times: 1 2 3 4 5 6 7 8 9 10
設定的標誌位flag用來判斷是否已經全部排序完成,當排序完成後將不再進行排序比較。
氣泡排序效率比較底下,在資料規模較小時,可以採用。資料規模比較大時,最好用其它排序方法。
交換排序 氣泡排序
交換排序 兩兩比較待排序記錄的關鍵碼,若是逆序,則交換,直到無逆序。其中最簡單的交換排序是 氣泡排序。氣泡排序 bubble sort,也叫起泡排序 不斷地比較相鄰的記錄,若是不滿足排序要求,則交換。交換時,可從前向後,也可從後向前。看乙個從前向後的排序過程 原序列 12 3 45 33 6 下標 ...
氣泡排序 交換排序
最壞情況下,直接插入排序時間複雜度為 n 最小時間代價為 n 平均時間代價為 n 附加儲存空間 乙個儲存單位 穩定性 穩定 原址性 是 緊緻性 乙個比較,三個賦值操作 特點 對於基本有序,或偶爾有幾個在有序位置附近時,效率高,只有直接插入排序和它達到一樣的效果 整體效果不如直接插入排序,因為,直接插...
交換排序 氣泡排序
1.原理 從小到大排序 存在10個不同大小的氣泡,由底至上地把較少的氣泡逐步地向上公升,這樣經過遍歷一次後,最小的氣泡就會被上公升到頂 下標為0 然後再從底至上地這樣公升,迴圈直至十個氣泡大小有序。在 氣泡排序中,最重要的思想是兩兩比較,將兩者較少的公升上去 氣泡排序最壞情況的時間複雜度是o n 2...