冒泡排序属于交换排序的一种,十分容易理解:
原理:从第一个数开始,相邻两数比较,前一个大于后一个数,便交换,最终将最大的数沉底,小的数前移,沉底的大数便成为有序序列,每比较一轮,下一轮就少比较一个。
数组长度为 n ,则总共进行n-1趟比较
时间复杂度:O(n^2)
空间复杂度:O(1)
稳定性:稳定
public static void bobbleSort(int arr[]){
for (int i=0;i<arr.length;i++){
for (int j=0;j<arr.length-i-1;j++){
if (arr[j]>arr[j+1]){
int tmp=arr[j];
arr[j+1]=arr[j];
arr[j]=tmp;
}
}
}
}