vector作为STL库中使用频次较高的容易,它是完全可以代替数组的,而且提供了各种各样的操作函数,可以想数组一样的操作,而且还有边界检查,动态的改变大小。下边以二维函数为例子来介绍使用方法。
二维vector的初始化
#include <iostream>
#include <vector> using namespace std;
int main() {
vector<vector<int>> test;
vector<int> v;
int n,temp;
cin >> n;
test.clear();
//输入
for (int i = 0; i<n; i++) {
v.clear(); //每次记得clear:)
for (int j = 0; j < n; j++)
{
cin >> temp;
v.push_back(temp);
}
test.push_back(v);
}
//输出
for(int i = 0; i < n; i++)
{
for(int j = 0;j < n; j++)
{
cout << test[i][j] << " ";
}
cout << endl;
}
return 0; }
二维vector的初始化跟普通的数组是不一样的,是需要先把内层的vector初始化,在插入到外层当中。
指定外层vector的大小
test.resize(2);
遍历指定内层vector大小
for(int i=0;i<3;i++)
v[i].resize(3);
一次指定内外层vector大小
v.resize(n, vector<int>(m));