我有一个二维数组,可以通过任何整数N动态创建。最初,我需要将数组中的所有值设置为表示“未初始化”的值,我使用数字“-1”。但是,我想将这个二维数组转换为一维数组,并将每个值赋予等于它在新的一维数组中的索引。如何将二维数组转换为一维数组作为索引?
public class Percolation {
private int[][] id;
private int[] array1D;
private int blocked = -1; //a number that doesn't exist in the array
// create N-by-N grid, with all sites blocked
public Percolation(int N){
id = new int[N][N];
for (int k = 0; k < N; k++)
{ for (int i = 0; i < N; i++) id[k][i] = blocked; }
}
// open site (row i, column j) if it is not already
public void open(int i, int j){
}
在open方法中,它应该将给定索引处的值更改为1D数组中的对应索引。例如:
[-1] [-1]
[-1] [-1]
将随后成为:
[0] [1 ] [2] [3]
不幸的是,由于这是功课,我不确定如何分享网格大小“N”能够创建一个索引作为值的新的一维数组。
关于你的最后一段:你用'id.length'在你的类中得到网格大小'N'。 – halex
@halex哇谢谢,这正是我需要的全部 – Ci3
我会让它成为答案,并希望你接受它:) – halex