java生成20个随机数,到一个整型数组中,进行冒泡排序,将每一趟排序后的数组状态(每个数组元素的值),输出出来,以观看其排序过程。输出内容为:第1趟:。。。第2趟:。。。
时间: 2024-03-25 15:35:52 浏览: 51
好的,这是一个关于冒泡排序的问题,我会为您提供一个Java的实现代码,并在每一趟排序后输出数组状态。代码如下:
```java
import java.util.Arrays;
import java.util.Random;
public class BubbleSortDemo {
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;
}
}
// 输出每一趟排序后的数组状态
System.out.printf("第%d趟:%s%n", i+1, Arrays.toString(arr));
}
}
public static void main(String[] args) {
Random rand = new Random();
int[] arr = new int[20];
for (int i = 0; i < 20; i++) {
arr[i] = rand.nextInt(100); // 生成0~99的随机整数
}
System.out.printf("原始数组为:%s%n", Arrays.toString(arr));
bubbleSort(arr);
}
}
```
代码说明:
- `bubbleSort` 函数为冒泡排序的实现函数,使用两个循环嵌套遍历整个数组,每次将相邻两个元素进行比较,如果前一个元素大于后一个元素,则交换它们的值,这样每一趟排序后,最大的元素就会被放到最后面。排序的趟数是 `n-1`,因为最后一趟只剩下一个元素,不需要再进行比较。
- `main` 函数中先使用 `Random` 类生成一个随机数对象,然后使用 `nextInt` 方法生成20个0~99的随机整数,存放到数组中。然后输出原始数组,调用 `bubbleSort` 函数进行排序,并在每一趟排序后输出数组状态。
希望这个代码对您有帮助!
阅读全文