簡體   English   中英

如何遍歷大小未知的二維向量?

[英]How to iterate through a 2D vector with an unknown size?

我正在嘗試訪問具有未知行數和列數的二維向量中的 int 值。

我試過這個:

for(vector<int> vec : matrix){
        for(int i : vec){
            queue_lista.push(vec[i]);
        }
    }

和這個:

vector< vector<int> >::iterator row;
vector<int>::iterator col;
for (row = nums.begin(); row != nums.end(); row++) {
    for (col = row->begin(); col != row->end(); col++) {
        //queue_lista.push(nums[col][row]);
    }
}

在您的第一個片段中, i采用向量中的值,而不是索引。 所以你應該只使用push(i)而不是vec[i]

在您的第二個代碼段中, col是一個迭代器,而不是一個索引。 所以你也不應該在下標中使用它。 *col是您的數據。


性能說明:如果讓vec成為常量引用而不是副本,則第一個代碼段會更有效率。

暫無
暫無

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

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