复制
收藏
提问
全网
写一个java得冒泡排序
4月前
理解问题写一个java得冒泡排序
已完成理解「写一个java得冒泡排序」
展开阅读网页
冒泡排序是一种基础的排序算法,其工作原理是通过重复遍历待排序的数列,比较每对相邻元素的大小,并在必要时交换它们的位置。这个过程会重复进行,直到没有需要交换的元素为止,这意味着数列已经完全排序。下面是一个Java实现冒泡排序的示例代码:
public class BubbleSort {
public static void bubbleSort(int[] arr) {
if (arr == null || arr.length == 0) {
return;
}
int n = arr.length;
boolean swapped;
for (int i = 0; i < n - 1; i++) {
swapped = false;
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换 arr[j] 和 arr[j + 1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
swapped = true;
}
}
// 如果在这一轮排序中没有发生交换,说明数组已经有序,可以提前结束
if (!swapped) {
break;
}
}
}
public static void main(String[] args) {
int[] arr = {64, 34, 25, 12, 22, 11, 90};
bubbleSort(arr);
System.out.println("Sorted array:");
for (int value : arr) {
System.out.print(value + " ");
}
}
}
这段代码首先定义了一个bubbleSort
方法,该方法接受一个整型数组arr
作为参数。方法内部首先检查数组是否为空或长度为0,如果是,则直接返回。接着,使用两个嵌套循环来实现冒泡排序的逻辑。外层循环控制遍历次数,内层循环负责实际的元素比较和交换。如果在某次遍历中没有发生任何交换,使用swapped
标志位来提前结束排序过程,这是一个优化手段,可以减少不必要的遍历56。
main
方法中创建了一个示例数组,并调用bubbleSort
方法对其进行排序,然后打印排序后的数组。7
更专业一些
转笔记
专业
写一个java得冒泡排序不在提醒