冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
下面是一个简单的Java实现冒泡排序的例子,并展示如何输出排序过程和结果:
public class BubbleSort {
public static int[] bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
// 输出交换的数字
System.out.println("交换: " + arr[j] + " 和 " + arr[j + 1]);
}
}
return arr;
}
public static void main(String[] args) {
int[] arr = {64, 34, 25, 12, 22, 11, 90};
System.out.println("原始数组:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println("\n排序后的数组:");
int[] sortedArr = bubbleSort(arr);
for (int i = 0; i < sortedArr.length; i++) {
System.out.print(sortedArr[i] + " ");
}
}
}
当你运行上面的代码时,它会输出类似以下内容:
原始数组:
64 34 25 12 22 11 90
交换: 34 和 25
交换: 34 和 12
交换: 34 和 22
交换: 34 和 11
交换: 34 和 90
交换: 25 和 12
交换: 25 和 22
交换: 25 和 11
交换: 25 和 90
交换: 12 和 22
交换: 12 和 11
交换: 12 和 90
交换: 22 和 11
交换: 22 和 90
交换: 11 和 90
排序后的数组:
11 12 22 25 34 64 90
这个程序首先打印出原始的数组,然后通过冒泡排序算法对其进行排序,并在每次交换时输出交换的数字,最后打印出排序后的数组