public static void maopaoSort(int arr[]) {
boolean flag=false;
//控制比较轮数
for(int i=1;i<arr.length;i++) {
//每轮比较多少
for(int j=0;j<arr.length-1;j++) {
if(arr[j]>arr[j+1]) {
flag=true;
int temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
System.out.println(Arrays.toString(arr)+"-"+i+“次”);
if(!flag) {
break;
}else {
flag=false;
}
}
}
第一个for循环是为了控制几轮大的比较,第二轮循环是两两进行比较,这里为了让这个算法效率更高采用了一个标记flag进行执行,这样效率会更高,如果比较后面已经不进行交换了,直接退出for循环,这样使得效率更高
冒泡排序
最新推荐文章于 2022-04-29 23:24:15 发布