向量vector是一个封装了动态大小的顺序容器,可存放各种类型的对象。可以简单理解为可存储任意类型对象的动态数组。vector提供了在序列末尾相对快速地添加/删除元素的操作。
动态数组会自动扩容
头文件
#include<vector>
初始化和打印
int main() {
int n; cin >> n;
//vector<int> v(n);//size=n,默认所有元素初始化为0
vector<int> v(n, 1);//size=n,默认所有元素初始化为1
for (int i = 0; i < n; i++) {
cin >> v[i];
}
//数组下标访问
/*for (int i = 0; i < n; i++) {
cout << v[i] << " ";
}*/
//迭代器访问
//v.begin()指向了首元素的迭代器
//v.end()指向了尾元素的下一位的迭代器(无效迭代器/结束的标志)
//vector<int>::iterator iter = v.begin();
/*for (auto iter = v.begin(); iter != v.end(); iter++) {
cout << *iter << " ";
}*/
//C++11 for range 缺陷:从头到尾遍历
for (auto it : v) cout << it << "