本文介绍了手写冒泡排序的基础版和增强版代码(有道云笔记迁移)
一、基础版
/** * 基础版 */ private static void bubbleSort(int[] arr) { for (int i = 1; i < arr.length; i++) { for (int j = 0; j < arr.length - i; j++) { if (arr[j] > arr[j + 1]) { int tmp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = tmp; } } System.out.println("第" + i + "步:" + Arrays.toString(arr)); } }
|
二、增强版
/** * 增强版 */ private static void bubbleSortPlus(int[] arr) {
for (int i = 1; i < arr.length; i++) { /** * 设定一个标记,若为true,则表示此次循环没有进行交换, 也就是待排序已经有序,排序已经完成 */ boolean flag = true; for (int j = 0; j < arr.length - i; j++) { if (arr[j] > arr[j + 1]) { int tmp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = tmp; flag = false; } } System.out.println("第" + i + "步:" + Arrays.toString(arr)); if (flag) { break; } } }
|
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏