遍历vector二维数组的方法
-
下标遍历
vector<vector<int>> vec(5, vector<int>(6, 0)); int i,j; for (i = 0; i < vec.size(); i++) { for(j = 0; j < vec[i].size(); j++) cout << vec[i][j] << " "; cout << endl; }
-
迭代器遍历
2.1 常规方法vector<vector<int>> vec(5, vector<int>(6, 0)); vector<vector<int>>::iterator it = vec.begin(); vector<int> tempVec; for(; it!=vec.end(); it++) { tempVec = *it; for(vector<int>::iterator *it1=tempVec.begin(); it1!=tempVec.end(); it1++) { cout << *it1 << " "; } cout << endl; }
2.2 使用类似一维指针遍历二维数组的方式遍历
vector<vector<int>> vec(5, vector<int>(6, 0)); vector<vector<int>>::iterator it = vec.begin(); vector<int>::iterator it1 = (*it).begin(); while (true) { if (it1 != (*it).end()) { cout << *(it1++) << " "; } else { it++; if (it == vec.end()) { break; } it1 = (*it).begin(); cout << endl; } }