如何通过辅助对角线通过 2D 阵列

How can I go through a 2D Array via the secondary diagonal?

本文关键字:2D 阵列 对角线 何通过      更新时间:2023-10-16

正如我所说,我想通过辅助对角线"滚动"多维数组,我想要的输入是:(案例a)[它可以是C++或Java,没关系]

注意+编辑:顺序不是随机的。它从底部的 1 开始,一直向上。

这可能吗?

如果没有,那么至少一半的代码?(案例b)

// Case a:
16 15 13 10
14 12 9 6
11 8 5 3
7 4 2 1
// Case b:
0 0 0 1
0 0 9 6
0 8 5 3
7 4 2 1

你可以用一个简单的循环来做到这一点(这是Java):

int size = 4;
int[][] matrix = new int[size][size];
// . . .
for (int i = 0; i < size; ++i) {
    doSomethingWith(matrix[i][size - i - 1]);
}
  int[][] a={{7,6,4,1},{5,3,9,6},{2,8,5,3},{7,4,2,1}};
  for(int i=0; i<a.length; i++)
  {
   for(int j=a[i].length-1; j>=a[i].length-(i+1); j--)
   {
    System.out.print(a[i][j]+",");
   }
   System.out.println();
  }