簡體   English   中英

訪問嵌套的 For 循環索引

[英]Accessing Nested For Loop Indexes

java中下面的for循環是訪問adjacencyMatrix的所有索引還是只做

adjacencyMatrix[1][1]; 
adjacencyMatrix[2][2]; 
adjacencyMatrix[3][3]; 
adjacencyMatrix[4][4]; 

等等。

for (int i = 1; i <= number_of_nodes; i++)
        for (int j = 1; j <= number_of_nodes; j++)
            adjacencyMatrix[i][j] = adjacency_matrix[i][j];

謝謝

不會訪問數組的所有索引,因為數組索引從 0 開始,而不是 1。換句話說,2D 數組的第一個元素將是adjacencyMatrix[0][0]所以你應該從 0 開始你的兩個迭代。

如果數組的長度為 5,則最大索引因此為 4,因此請注意迭代的距離。

例如,如果您這樣做:

for (int i = 1; i <= number_of_nodes; i++)
    for (int j = 1; j <= number_of_nodes; j++)
        adjacencyMatrix[i][j] = adjacency_matrix[i][j];

然后它會訪問:

adjacencyMatrix[1][1]; 
adjacencyMatrix[1][2]; 
adjacencyMatrix[2][1]; 
adjacencyMatrix[2][2]; 

etc...

如果你這樣做:

for (int i = 1; i <= number_of_nodes; i++)
        adjacencyMatrix[i][i] = adjacency_matrix[i][i];

然后它會訪問:

adjacencyMatrix[1][1]; 
adjacencyMatrix[2][2]; 
adjacencyMatrix[3][3]; 
adjacencyMatrix[4][4]; 
for (int i = 0; i < number_of_nodes; i++)
    for (int j = 0; j < number_of_nodes; j++)
        adjacencyMatrix[i][j] = adjacency_matrix[i][j];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM