/**
* @author cnkeysky
*/
public class DemoTest {
public static void main(String[] args) {
int[] arr = {-1, 9, 1, 4, 3, 10, 7, 0};
System.out.println("排序前:");
printArr(arr);
bubbleSort(arr);
System.out.println("排序后:");
printArr(arr);
}
public static void bubbleSort(int[] arr) {
int len = arr.length;
for (int i = 0; i < len - 1; ++i) {
// 提前结束控制标记
boolean flag = false;
for (int j = 0; j < len - 1 - i; ++j) {
// 数据交换
if (arr[j] > arr[j + 1]) {
int temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
flag = true;
}
}
// 注意取非
if (!flag) {
break;
}
System.out.printf("第 %d 次排序: ", (i + 1));
printArr(arr);
}
}
public static void printArr(int[] arr) {
for (int i : arr) {
System.out.print(i + " ");
}
System.out.println();
}
}
冒泡排序-Java
最新推荐文章于 2024-03-22 14:57:02 发布