冒泡排序可视化Java
时间: 2023-09-18 22:07:16 浏览: 60
以下是使用Java实现冒泡排序的可视化代码,可以通过控制台输出结果:
```java
public class BubbleSortVisualization {
public static void main(String[] args) {
int[] arr = {5, 3, 8, 4, 2};
bubbleSort(arr);
}
public static void bubbleSort(int[] arr) {
int n = arr.length;
boolean swapped;
for (int i = 0; i < n - 1; i++) {
swapped = false;
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;
swapped = true;
}
}
if (!swapped) {
break;
}
printArray(arr);
}
printArray(arr);
}
public static void printArray(int[] arr) {
for (int i : arr) {
System.out.print(i + " ");
}
System.out.println();
}
}
```
上述代码中,我们使用了两个for循环来实现冒泡排序。外层循环控制排序的轮数,内层循环控制每一轮中元素的比较和交换。
在每一轮中,我们使用一个布尔类型的变量swapped来标记是否发生了交换。如果没有交换,说明数组已经有序,排序可以提前结束。
在每一轮结束后,我们调用printArray方法将当前的数组状态输出到控制台上,以便观察每一轮排序的结果。
阅读全文