從第一個元素開始,讓前一個元素和後一個元素進行比較,大的放後邊.循環n次,每次選出數組中剩下部分最大的那個放後邊.
第一輪比較n次,第二輪比較n-1次.
public class BubbleSort {
public static void bubbleSort(int [] arr){
for (int i = arr.length -1; i > 0 ; i--){
for (int j =0;j < i ; j++){
if(arr[j] > arr[j+1]){
swap(arr,j);
}
}
}
}//bubbleSort
public static void swap(int [] arr , int i, int j){
arr[i] = arr[i] ^ arr[j];
arr[j] = arr[i] ^ arr[j];
arr[i] = arr[i] ^ arr[j];
}
}
時間複雜度 O(n^2) 額外空間複雜度爲O(1)