package alg;
import java.util.Arrays;
public class BubbleSort {
public static void main(String[] args) {
int[] arr = new int[]{1, -1, 15, 2, -3};
boolean hasChange = false;
int temp = arr[0];
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i; j++) {
if ((j + 1) < (arr.length - i)) {
if (arr[j] > arr[j + 1]) {
temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
hasChange = true;
}
}
}
if (!hasChange) {
System.out.println("不存在数据交换");
System.out.println("第 " + (i + 1) + " 次排序,输出结果:" + Arrays.toString(arr));
break;
} else {
hasChange = false;
System.out.println("第 " + (i + 1) + " 次排序,输出结果:" + Arrays.toString(arr));
}
}
}
}
第 1 次排序,输出结果:[-1, 1, 2, -3, 15]
第 2 次排序,输出结果:[-1, 1, -3, 2, 15]
第 3 次排序,输出结果:[-1, -3, 1, 2, 15]
第 4 次排序,输出结果:[-3, -1, 1, 2, 15]