版权声明: https://blog.csdn.net/m0_37682436/article/details/83502763
冒泡法排序的思路:
第一步:从第一位开始,把相邻两位进行比较
如果发现前面的比后面的大,就把大的数据交换在后面,循环比较完毕后,最后一位就是最大的
第二步: 再来一次,只不过不用比较最后一位
以此类推
//初始化数组
int[] a= {5,8,4,6,1,2,7};
//遍历数组
for (int i : a) {
System.out.print(i+" ");
}
System.out.println();
//第一次循环 找到最大的数,排在最后 a.length-1
for (int i = 0; i < a.length-1; i++) {
if(a[i]>a[i+1]) {
int temp=a[i+1];
a[i+1]=a[i];
a[i]=temp;
}
}
for (int i : a) {
System.out.print(i+" ");
}
System.out.println();
//第二次循环 找到倒数第二个最大的数 a.length-2
for (int i = 0; i < a.length-2; i++) {
if(a[i]>a[i+1]) {
int temp=a[i+1];
a[i+1]=a[i];
a[i]=temp;
}
}
for (int i : a) {
System.out.print(i+" ");
}
最终代码格式
for (int j = 0; j < a.length; j++) {
for (int i = 0; i < a.length - 1 - j; i++) {
if (a[i] > a[i + 1]) {
int temp = a[i + 1];
a[i + 1] = a[i];
a[i] = temp;
}
}
}