算法-冒泡排序

冒泡排序是内部排序中交换排序的一种。

算法思想

对当前还未排序好的范围内的全部数,自上而下对相邻的两个数进行比较和调整,大的下沉,小的上浮。

空间复杂度

只是互换,为O(1)

时间复杂度

两次循环,故为O(n^2)

算法实现思想

每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

java实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public int[] bubbleSort(int[] array){
int[] arr = array;
for(int i = 0; i < array.length - 1; i ++){
for(int j = 0; j < array.length - i - 1; j ++){
if(arr[j] > arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}

c实现

python实现