Java 冒泡排序算法详解及代码示例
以下是一个 Java 冒泡排序的示例代码:
public class BubbleSort {
public static void main(String[] args) {
int[] arr = { 5, 3, 8, 4, 2 };
int temp = 0;
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
解释:
- 内层循环比较相邻两个元素的大小,如果前一个元素比后一个元素大,则交换它们的位置。
- 外层循环控制比较的轮数,每一轮比较后,最大的元素会被排到数组的末尾。
- 在排序完成后,使用 for 循环遍历数组,将排序后的结果输出。
输出结果:
2 3 4 5 8
代码说明:
- 代码首先定义了一个包含 5 个元素的整数数组
arr。 - 然后,使用两个嵌套循环进行排序。外层循环控制比较的轮数,内层循环比较相邻两个元素的大小并进行交换。
- 变量
temp用来临时存储交换的元素值。 - 最后,使用
for循环遍历数组,将排序后的结果输出到控制台。
总结:
冒泡排序是一种简单易懂的排序算法,它通过不断比较相邻元素并进行交换,最终将数组中的元素从小到大排序。虽然冒泡排序的时间复杂度为 O(n^2),但它在一些特殊情况下(例如数组几乎已排序)可以表现出较好的性能。
原文地址: https://www.cveoy.top/t/topic/mMDS 著作权归作者所有。请勿转载和采集!