diff --git a/codes/Jason_zhao/20752250.java b/codes/Jason_zhao/20752250.java index 750cfaeec7a1089cbbff7db37e54d88b7b91579d..7e0814d87167db18b49001b99d6c104d5e2a657d 100644 --- a/codes/Jason_zhao/20752250.java +++ b/codes/Jason_zhao/20752250.java @@ -1,20 +1,22 @@ /** * 冒泡排序函数 + * aa bb cc * @param a 待排序的数组 * @param n 待排序的数组长度 */ -public static void bubbleSort(int [] a, int n) { - // 处理特殊情况 +public static void bubbleSort(int [] a, int n){ + // 处理特殊情况:数组为空或长度小于等于1时直接返回 if (a == null || n <= 1) { return; } - // 外层循环控制排序的轮数,共需要 n-1 轮 + // 外层循环控制排序的轮数,共需要n-1轮 for (int i = 0; i < n - 1; i++) { // 标记是否发生交换,用于优化算法 boolean swapped = false; // 内层循环进行相邻元素的比较和交换 + // 每轮比较后,最大的元素会"冒泡"到数组末尾,因此比较次数逐轮减少 for (int j = 0; j < n - 1 - i; j++) { // 如果当前元素比下一个元素大,则交换它们 if (a[j] > a[j + 1]) { @@ -30,4 +32,4 @@ public static void bubbleSort(int [] a, int n) { break; } } -} +} //end