寫在前面:
冒泡法的排序思路是比較相鄰的元素,從陣列中arr[0]和arr[1]開始,如果左邊的元素大於右邊元素,那麼交換兩個元素的位置,依次比較相鄰元素,在第一趟排序之後,陣列中最大的元素會被交換到陣列最後的位置。下一輪,再重新從陣列的第乙個元素開始,繼續交換,直到不需要再交換為止。
例如:陣列int arr = new int
(1)第一次排序:2,3,1,5,6,4,7,8
(2)第二次排序:2,1,3,5,6,4,7,8
(3)第三次排序:1,2,3,5,4,6,7,8
(4)第四次排序:1,2,3,4,5,6,7,8
這樣在四次排序之後,就可以完成對arr陣列的排序
**實現:
package test3;
/** * 排序演算法:冒泡法
* * @classname test2
* @description
* @author mcgrady
* @date 2023年3月4日
*/public class test2 ;
sort(arr);
for (int i : arr)
} private static void sort(int arr)
}} }
}
時間複雜度:
最壞情況:就是相當於初始為逆序排列,這種情況下,程式的執行次數(比較次數),(n-1)+(n-2)+.......+1=n*(n-1)/2,所以在最壞情況下,時間複雜度為o(n^2)
最優情況:就是在初始化時就已經為順序,但是因為還要掃瞄一遍陣列,所以時間複雜度為o(n)
空間複雜度:
冒泡演算法的空間複雜度為o(1)
java實現氣泡排序法
一 氣泡排序法 氣泡排序法的比較方式由第乙個元素開始,比較相鄰大小,若大小順序有誤,則對調後再進行下一次元素的比較。如此掃瞄過一次之後就可確保最後乙個元素是位於正確的順序,接著再逐步進行第二次掃瞄,直到完成所有元素的排序關係為止。氣泡排序是穩定排序法。二 分析 1.最壞情況及平均情況需比較n n 1...
氣泡排序法(Java實現)
氣泡排序法原理 對陣列進行排序,氣泡排序法的原理就是將一組無序陣列進行排序,同過把值較小的數逐漸向陣列的頂部 即朝第乙個元素 冒出來,就像水中的氣泡上公升一樣。同時,值較大的資料逐漸向陣列的底部 即朝最後乙個元素 沉下去。這種演算法用巢狀的迴圈對整個陣列進行數次遍歷,每次遍歷都要比較陣列中相鄰的一對...
Java排序演算法1 氣泡排序
一.思想 它重複走訪數列,走訪n 1遍,每次比較相鄰的兩個元素,如果第乙個元素大於 小於 後乙個元素,則交換 取決於你約定是公升序還是降序 這樣就可以把最大 最小 的數沉到最後面。二.例子 比如5,3,2,4.第一趟比較過程為 1.比較5和3,5 3,則交換,交換後的序列為3,5,2,4.2.比較5...