vector还支持二维数组,但这种二维数组是通过嵌套的方式来实现,并不像Python或者Matlab的矩阵那么直观。
vector<vector<int>> arr(3);
for (int i = 0; i < 3; ++i) {
arr[i].resize(3); //3x3 array
}
for (int i = 0; i < 3; ++i)
for (int k = 0; k < 3; ++k)
arr[i][k] = i * k; // 赋值
arr.resize(4); // 二维数组包含4个变量
arr[2].resize(5); // 第3个变量包含5个变量
常用操作:
1.a.push_back(100) 在尾部加入一个值为100的元素
2.a.size() 返回数组中元素的个数
3.bool isEmpty=a.empty() 判断a是否为空,若为空返回true,若不为空则返回false
4.cout<<a[0]<<endl 输出数组的大小
5.a.insert(a.begin+i,k) 在第i个元素前插入k
6.a.insert(a.end(),10,5) 在末尾插入10个值为5的元素
7.a.pop_back 删除末尾元素
8.a.erase(a.begin()+i,a.begin()+j) 将[i,j-1]的元素都删除
9.a.erase(a.begin()+i) 将第i+1个元素删除
10.a.resize(n) 将数组重置为n个元素
11.a.clear() 清空数组
12.reverse(a.begin(),a.end()) 将数组逆转
13.sort(a.begin(),a.end()) 将数组从小到大排序