冒泡排序(稳定)
时间复杂度O(n2):最好O(n)、最差O(n2)
空间复杂度O(1)
即每一趟比较都会使得最小或者最大的元素像水中气泡一样上浮
每一趟都会有一个元素排好序(位置固定)
java
public static void Sort(int[] arr){
int tmp = 0;
for(int i = 0; i < arr.length - 1; i++){ //要遍历的次数(n-1趟)
for(int j = arr.length - 1; j > i; j--){ //遍历元素
if(arr[j-1] > arr[j]){ //升序排序(每次将剩下数中的最小数放在前面)
tmp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = tmp;
}
}
// System.out.println("第"+i+"趟排序后"+Arrays.toString(arr));
}
}
go
func bubbleSort(array []int) {
for i := 0; i < len(array); i++ {
for j := i + 1; j < len(array); j++ {
if array[j] < array[i] {
array[i], array[j] = array[j], array[i]
}
}
}
}