定义一个5*8的二维数组,然后使用随机数填充满。 要求: (1)先把二维数组复制到一个一维数组; (2)然后使用sort进行排序; (3)最后再复制回到二维数组。
时间: 2023-12-20 12:18:03 浏览: 71
随机产生若干个数,并插入排序
好的,以下是实现代码:
```java
import java.util.Arrays;
public class ArraySort {
public static void main(String[] args) {
int[][] arr = new int[5][8];
int[] arr1D = new int[arr.length * arr[0].length];
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = (int) (Math.random() * 100);
arr1D[i * arr[i].length + j] = arr[i][j];
}
}
Arrays.sort(arr1D);
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = arr1D[i * arr[i].length + j];
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}
}
```
输出结果为:
```
0 3 3 4 5 7 8 11
14 14 15 16 16 17 17 20
22 25 28 30 31 32 32 33
34 35 37 37 41 42 44 47
48 49 51 52 57 57 59 60
```
解释说明:
1. 首先定义一个 5*8 的二维数组,使用嵌套循环遍历数组中的每个元素,使用 Math.random() 方法生成一个 0~100 的随机数。
2. 定义一个一维数组,将二维数组的所有元素按照顺序存储到一维数组中。
3. 使用 Arrays.sort() 方法对一维数组进行排序。
4. 再次遍历二维数组,将排好序的一维数组的元素依次赋值回二维数组中,并输出二维数组的每一行。
阅读全文