/**
* @author zzw
* @create 2021/04/11-13:54
*
* 冒泡排序:我选择将大的放到最后面
* 如果数据⾜够乱的情况下是6个数据需要经过5躺⽐较才能将数组完整排好序
* 如果数据一般乱,有时我们不用5趟就可以排序好
*/
//两个两个比较,从前到后,最后在最末尾得到最大的数,重复进行多次
public class test {
public static void main(String[] args) {
int[] arrays={6,11,30,17,20,5};
//装载临时变量
int temp;
//记录是否发⽣了置换, 0 表示没有发⽣置换、 1 表示发⽣了置换
int isChanege=0;
//记录执行了几趟
int num=0;
//外层循环的是排序的趟数
for(int i = 0; i < arrays.length-1; i++){
for(int j = 0; j < arrays.length-i-1;j++){
//前⼀位与后⼀位与前⼀位⽐较,如果前⼀位⽐后⼀位要⼤,那么交换
if(arrays[j]>arrays[j+1]){
temp=arrays[j];
arrays[j]=arrays[j+1];
arrays[j+1]=temp;
//如果进到这⾥⾯了,说明发⽣置换了
isChanege=1;
}
}
//如果⽐较完⼀趟没有发⽣置换,那么说明已经排好序了,不需要再执⾏下去了
if(isChanege == 0){
break;
}
num++;
}
System.out.println("排序的趟数为:"+num);
System.out.println("遍历排序后的数组:");
for (int array : arrays) {
System.out.print(array+" ");
}
}
}
01--冒泡排序
最新推荐文章于 2022-11-23 19:18:43 发布