定义一个5*8的二维数组,然后使用随机数填充满。 要求: (1)先把二维数组复制到一个一维数组; (2)然后使用sort进行排序; (3)最后再复制回到二维数组。
时间: 2023-12-20 17:18:03 浏览: 58
随机产生若干个数,并插入排序
好的,下面是代码实现:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[][] arr2D = new int[5][8];
int[] arr1D = new int[40];
// 使用随机数填充二维数组
for (int i = 0; i < arr2D.length; i++) {
for (int j = 0; j < arr2D[i].length; j++) {
arr2D[i][j] = (int) (Math.random() * 100);
}
}
// 复制二维数组到一维数组
int index = 0;
for (int i = 0; i < arr2D.length; i++) {
for (int j = 0; j < arr2D[i].length; j++) {
arr1D[index++] = arr2D[i][j];
}
}
// 对一维数组进行排序
Arrays.sort(arr1D);
// 复制一维数组到二维数组
index = 0;
for (int i = 0; i < arr2D.length; i++) {
for (int j = 0; j < arr2D[i].length; j++) {
arr2D[i][j] = arr1D[index++];
}
}
// 输出二维数组
for (int i = 0; i < arr2D.length; i++) {
for (int j = 0; j < arr2D[i].length; j++) {
System.out.print(arr2D[i][j] + " ");
}
System.out.println();
}
}
}
```
输出结果类似于:
```
3 4 11 16 20 24 28 29
30 39 41 42 46 49 57 57
58 59 64 66 67 73 77 78
79 81 82 82 83 84 85 88
91 93 93 94 94 94 95 98
```
首先使用随机数填充二维数组,然后将二维数组复制到一维数组中,再使用Arrays.sort对一维数组进行排序,最后将一维数组复制回二维数组中。最后输出排序后的二维数组。
阅读全文