-3

我正在尝试访问具有未知行数和列数的 2D 向量内的 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]);
    }
}
4

1 回答 1

0

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

在您的第二个片段中,col是一个迭代器,而不是一个索引。因此,您也不应该将其与下标一起使用。 *col是你的数据。


vec性能说明:如果您让其成为常量引用而不是副本,那么第一个片段将更加高效。

于 2018-02-04T21:07:45.503 回答