Java实现冒泡排序算法详解
下面是Java实现冒泡排序的代码:
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {5, 2, 7, 1, 9, 4, 6, 3, 8}; // 待排序数组
bubbleSort(arr); // 调用冒泡排序方法
System.out.println(Arrays.toString(arr)); // 输出排序后的数组
}
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) { // 外层循环控制排序轮数
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;
}
}
}
}
}
代码解释:
- 外层循环控制排序轮数,每一轮将未排序部分中最大的数冒泡到最后面;
- 内层循环控制每一轮的比较次数,每一轮比较相邻两个数的大小,并交换位置;
- 如果前面的数大于后面的数,交换位置;如果前面的数小于等于后面的数,则不交换位置,继续比较下一组相邻的数。
原文地址: https://www.cveoy.top/t/topic/mxZq 著作权归作者所有。请勿转载和采集!