请用JAVA写一段冒泡排序
以下是JAVA实现冒泡排序的代码示例:
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {5, 2, 9, 1, 5, 6};
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;
}
}
}
}
}
代码解释:
- 首先声明了一个
BubbleSort类。 - 在
main()方法中,定义了一个整型数组arr作为排序的数据源。 - 调用了
bubbleSort()方法对数组进行排序。 - 最后,使用
Arrays.toString()方法打印排序后的数组。
在 bubbleSort() 方法中,使用了两个嵌套的循环。外层循环控制排序的趟数,内层循环控制每趟排序的比较次数。
在内层循环中,通过比较相邻两个元素的大小,如果前一个元素大于后一个元素,则交换这两个元素的位置。
最终,通过多次比较和交换,完成了对数组的排序,时间复杂度为 $O(n^2)$。
原文地址: http://www.cveoy.top/t/topic/ZQ4 著作权归作者所有。请勿转载和采集!