冒泡排序是一种简单的排序算法,它重复地遍历要排序的数组,比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数组的工作重复进行直到没有再需要交换,也就是说该数组已经排序完成。
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {5, 3, 8, 6, 2}; // 待排序数组
bubbleSort(arr); // 调用冒泡排序方法
System.out.println("排序后的数组:");
for (int num : arr) {
System.out.print(num + " "); // 打印排序后的数组
}
}
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;
}
}
}
}
}
运行上述代码,输出结果将是:
排序后的数组:
2 3 5 6 8
这个示例中,我们使用了两个嵌套的for循环来实现冒泡排序。外层循环控制整个排序过程的轮数,内层循环负责在每一轮中进行元素的比较和交换。每次内层循环结束后,最大的元素会被放置在它最终的位置上。随着循环的进行,每一轮结束后,最大的元素都会“冒泡”到它应该在的位置上,因此得名冒泡排序