1、基本思想:
冒泡排序是一种简单的交换类排序。其基本思路是,从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。
一般地,对n个元素进行冒泡排序,总共需要进行n-1趟。第1趟需要比较n-1次,第2趟需要比较n-2次,......第i趟需要比较n-i次。
2、复杂度分析:
空间复杂度:仅用了一个辅助单元,空间复杂度为O(1)
时间复杂度:O(n2)
3、稳定性:
稳定
4、代码实现:
//冒泡排序
public static void bubbleSort(int num[]){
for(int i=0;i
num[j+1]){//如果逆序就交换
temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}
}
}