首页 > 解决方案 > 如何使用“[]”容器将_back 推入 2D 矢量?

问题描述

我对以下功能有疑问:

vector<int> dynamicArray(int n, vector<vector<int>> queries) {
    int lastanswer=0;
    vector<int> lastanswerarr;
    int seq=0;
    vector< vector<int> > seqarr[n];
    int y;

    vector< vector<int> >::iterator row;
    vector<int>::iterator col;

    for(row= queries.begin();row!=queries.end();row++){
        for(col=row->begin();col!=row->end();col++){
            if(col[0]==1){
                seq=((col[1]^lastanswer) % n);
                seqarr[seq].push_back(col[2]);             //problem when pushing back
                
            }
            else{
                seq=((col[1]^lastanswer) % n);
                y= (col[2] % seqarr[seq].size());
                lastanswer=seqarr[seq][y];
                lastanswerarr.push_back(lastanswer);           //problem when pushing back
            }
            break;
        }
    }
    return lastanswerarr;  }

我想知道我对 vector< <vector > seqarr[n] 的声明有问题吗?

我尝试使用 vector< <vector > seqarr(n) 并且它有效,但它仍然让我很好奇为什么我不能使用“[]”?

标签: c++vector

解决方案


推荐阅读