时间复杂度(平均):O(n²)
空间复杂度:O(1)
算法稳定性:稳定
算法原理:其基本思路是,对于一组要排序的元素列,依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面,如此继续,直到比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排序完成。(每次循环找到最大的数)
代码:
public static void bubble_sort(int array[]){
int lengh=array.length;
for(int i=0;i<lengh-1;i++){
for(int j=0;j<lengh-i-1;j++){
if(array[j]>array[j+1]){
swap(array,j+1,j);
}
}
}
}
private static void swap(int[] array, int i, int j) {
int a=array[i];
array[i]=array[j];
array[j]=a;
}