优化的冒泡排序算法
public class BubbleSort1 {
public static void main(String[] args) {
System.out.println("输入要排序的值,输入的每个值用逗号隔开:");
Scanner input = new Scanner(System.in);
String str = input.nextLine();
String[] strArray = str.split(",");
int[] array = new int[strArray.length];
for (int i = 0; i < strArray.length; i++) {
array[i] = Integer.parseInt(strArray[i]);
}
System.out.println("排序前的数组:" + Arrays.toString(array));
sort(array);
System.out.println("排序后的数组:" + Arrays.toString(array));
}
private static void sort(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
System.out.println("第" + (i + 1) + "趟");
boolean flag = true;
for (int j = 0; j < array.length - 1 - i; j++) {
int temp = 0;
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
flag = false;
}
System.out.println(" 第" + (j + 1) + "次:" + Arrays.toString(array));
}
if (flag) {
break;
}
}
}
}