如何定义二维矢量哪个元素是可变大小的向量



我想定义一个具有20行和4列的向量

result={ 
   {1,2,3},{5,4},{1},{10,15,16}
   {5},{1,2},{1,2,3},{1,4,5,6}
    ...
}

首先结果是空...我的代码的某些部分在下面编写,如果条件为true

,则"结果"更新
for(int i=0;i<20;i++){
    hash_1=hash_images[i];
    for(int j=i+1;j<20;j++){
        hash_2=hash_images[j];
        dis=hammingDist(hash_1.c_str(),hash_2.c_str());
        for(int t=0;t<4;t++){
            if (dis<=t){
                  ? result[i][t].push_back(somthing);   
            }
        } 
    }
}

定义一个3维向量如下:

vector<vector<vector<sth>>> S;
S.resize(20);
for (i=0 to 19)
   S[i].resize(4);

然后,在您的主循环中,您可以在计算后为每个值调整三维的大小:

for(j=0 to 19)
   for(m=0 to 3){
      //your calculation
      k=S[j][m].size();
      S[j][m].resize(k+1);
      S[j][m][k]=value;
   }

相关内容

  • 没有找到相关文章

最新更新