方法1:
public class BubbleSort {
public static void main(String[] args) {
int[] a = {4,3,76,2,6,7,9,2,5,21};
System.out.println(Arrays.toString(a));
sort(a);
System.out.println(Arrays.toString(a));
}
private static void sort(int[] a) {
for (int i = a.length-1; i > 0; i--) {
boolean flag = false;
for (int j = 0; j < i; j++) {
if (a[j] > a[j + 1]) {
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
flag = true;
}
}
System.out.println(Arrays.toString(a));
if (! flag) {
break;
}
}
}
}
方法2:
public class BubbleSortV2 {
public static void main(String[] args) {
int[] a = {4,3,76,2,6,7,9,2,5,21};
System.out.println(Arrays.toString(a));
sort(a);
System.out.println(Arrays.toString(a));
}
private static void sort(int[] a) {
for (int i = 0; i <a.length-1; i++) {
boolean flag = false;
for (int j = 0; j < a.length-1-i; j++) {
if (a[j] > a[j + 1]) {
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
flag = true;
}
}
System.out.println(Arrays.toString(a));
if (! flag) {
break;
}
}
}
}