From 6e25785b4fe6ec26d74821ada08e277c28754700 Mon Sep 17 00:00:00 2001 From: fucm_lelin <14286309+fucmlelin@user.noreply.gitee.com> Date: Thu, 11 Apr 2024 09:03:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=92=E5=BA=8F=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- codes/fucm_lelin/15846945.java | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 codes/fucm_lelin/15846945.java diff --git a/codes/fucm_lelin/15846945.java b/codes/fucm_lelin/15846945.java new file mode 100644 index 000000000..10e103d26 --- /dev/null +++ b/codes/fucm_lelin/15846945.java @@ -0,0 +1,30 @@ +/** + * 冒泡排序函数 + * 使用冒泡排序算法对数组进行升序排序 + * @param a 待排序的数组 + * @param n 待排序的数组长度 + */ +public static void bubbleSort(int[] a, int n) { + if (n <= 1) { + return; // 数组长度为0或1时,不需要排序 + } + for (int i = 0; i < n - 1; i++) { + // 表示当前这趟排序是否进行了交换,初始化为false + boolean swapped = false; + for (int j = 0; j < n - i - 1; j++) { + // 如果前一个元素大于后一个元素,则交换它们 + if (a[j] > a[j + 1]) { + int temp = a[j]; + a[j] = a[j + 1]; + a[j + 1] = temp; + // 标记发生了交换 + swapped = true; + } + } + // 如果这一趟排序没有发生任何交换,说明数组已经有序,可以结束排序 + if (!swapped) { + break; + } + } +} //end + -- Gitee