public class BubbleSrot {
public static int[] sort(int[] targe) {
boolean flag = true;
for (int i = targe.length - 1; i > 0 && flag; i--) {// 外层循环表示本次内层循环要确定的最大或最小数的位置
flag = false; // 用来表内层循环是否发生交换,如果没有交换则说明数组已经有序,直接结束排序
for (int j = 0; j < i; j++) { // j从0开始直到i-1位置
if (targe[j] > targe[j + 1]) {// j所指向的数与j+1进行比较
// 为防止越界,j只能到i-1
int temp = targe[j]; // 若j指向i 而i==a.length-1
targe[j] = targe[j + 1];// 则j++则会发生越界
targe[j + 1] = temp;
flag = true;
}
}
}
return targe;
}
public static void main(String[] args) {
int[] a = { 6, 4, 9, 1, 4, 3, 2, 6, 7 };
for (int i : BubbleSrot.sort(a)) {
System.out.println(i);
}
}
}