public class Test {
public static void main(String[] args) {
int [] arrays= {4,8,6,7,9,1};
//排序的趟数 -1 就是为了控制比较的轮数
for(int i=0;i<arrays.length-1;i++) {
//每比较一次 就初始化为0
int isChange=0;
//内循环是当前趟数需要的次数
//此处你可能会疑问的j<arrays.length-i-1,因为冒泡是把每轮循环中较大的数飘到后面,
// 数组下标又是从0开始的,i下标后面已经排序的个数就得多减1
for(int j=0;j<arrays.length-i-1;j++) {
if(arrays[i]>arrays[j+1]) {
int temp=arrays[j];
arrays[j]=arrays[j+1];
arrays[j+1]=temp;
//如果到这里了,说明发生置换了
isChange=1;
}
}
if(isChange==0) {
break;
}
}
for (int i : arrays) {
System.out.print(i+" ");
}
}
}
运行结果为:
1 4 6 8 7 9