,代码清晰易懂,注释详细,变量命名规范。

以下是我的代码实现,希望能够帮到你:

/**
 * 冒泡排序
 * @param arr 待排序数组
 */
public static void bubbleSort(int[] arr) {
    if (arr == null || arr.length < 2) {
        return;
    }

    int n = arr.length;
    for (int i = 0; i < n - 1; i++) {
        boolean flag = false; // 记录本轮是否交换
        for (int j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
                flag = true;
            }
        }
        // 如果本轮没有交换,则数组已经有序,直接退出循环
        if (!flag) {
            break;
        }
    }
}

代码中使用了双重循环,每次比较相邻的两个数,如果前面的数大于后面的数,则交换它们。这样从左到右不断比较、交换,直到最后一个数,那么此时最大的数就被排到了最右边。接着再从左到右比较、交换,直到倒数第二个数,以此类推,直到整个数组有序。

此外,代码中还加入了一个优化:如果在某一轮循环中没有发生任何交换,说明数组已经有序,可以直接退出循环,避免不必要的比较。这也是冒泡排序的一个优点,对于基本有序的数组,排序效率比较高。

希望这份代码能对你有所帮助,让你的代码更加温柔大方。

一名后端程序员现在需要你写代码具体写代码内容如下java实现冒泡排序 。要求整体内容的风格为:尽量温柔大方一点

原文地址: https://www.cveoy.top/t/topic/7rc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录