int n=0,b;
cin>>n;
vector <vector<int>> a;
for (int i=0;i<n;i++)
for(int j=0;j<n;j++){
cin>>b;
a[i][j].push_back(b);
}
帮助我在矢量
的帮助下初始化2d数组答案 0 :(得分:1)
如果你有notifyDataSetChanged()
,这不是二维数组,而是矢量矢量。
您需要创建一个行向量,然后将行向量推入外部向量:
vector<vector<int>>
如果在创建向量时保留空间,则可以使用vector<vector<int> > a;
int b;
for (unsigned int row = 0; row < n; ++row)
{
vector<int> new_row;
for (unsigned int colunm = 0; column < n; ++column)
{
cin >> b;
new_row.push_back(b);
}
a.push_back(new_row);
}
。
答案 1 :(得分:0)
看起来你真的想要这样的东西:
vector <vector<int>> a;
for (int i=0;i<n;i++) {
a.push_back(vector<int>());
for(int j=0;j<n;j++){
cin>>b;
a.at(i).push_back(b);
}
}
请注意,对于每一行(外部循环),我们首先为该行推送一个空向量,然后再推回到该新向量。