冒泡排序法
1.由小到大排序
2.时间复杂度为n的平方阶,是一种稳定的排序
3.外循环控制排序的次数,内循环从0索引开始向右推出数组剩余元素中一个最大的数。
4.插入一个flag对排序进行优化:如果某一次排序后没有进行过交换,说明此时数组已经排序完了,直接退出排序。
public static void bubbleSort(int[] arr) {
int temp=0;
// 对一次排序有没有经过交换进行标记
boolean flag=false;
for (int i=0;i<arr.length-1;i++){
// 从最后一个位置开始往前进行排序
for (int j =0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
flag=true;
}
}
// 如果有一次排序的时候没有进行位置交换即(flag==false)时,退出排序。
if(!flag){
break;
}else {
flag=false;
}
}
}