【发布时间】:2017-03-03 22:13:27
【问题描述】:
排序前:
| 3 10 24 8|
|12 10 16 67|
|21 18 36 48|
| 7 1 12 25|
排序后:
|12 8 3 1|
|21 12 10 7|
|36 24 16 10|
|67 48 25 18|
如您所见,所有内容都按对角线排序。下面是我的代码
写了,但正如你所见,它远未完成。
static int[][] diagonal(int[][] value, int n){
int temp= 0;
int a[][]; a= new int [n][n];
for (int ai=0; ai<n;ai++)
Arrays.sort(value[ai]);
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
a[i][n-1]=value[i][j];
}
【问题讨论】:
-
请阅读this,然后请尝试改进并说明您的问题。
-
请明确说明您面临的具体问题
-
我的问题是尝试按对角线顺序(特别是上面显示的顺序)遍历数组。
-
目前尚不清楚“对角线”排序是什么意思,尽管我看到了一种可能性。在尝试继续之前,您应该确保您足够了解以便向其他人清楚地解释它,否则您不太可能为其编写代码。
-
不过,一般来说,您可以考虑将所有元素读入一个正确长度的一维数组,对它们进行线性排序,然后以您需要的“对角线”排列将它们写回原始二维数组.