时间:2021-04-15 11:19:11 | 栏目:C代码 | 点击:次
简介
C++ 中 Vector 的使用
1. 定义(初始化)Vector
int a[]={2,4,6,8,10}; vector<int> v(&a[1],&a[3]);
2. 向 Vector 中增加元素
v.insert(v.begin(),666); //在首元素前插入元素 666 v.insert(v.begin()+1,666); //在第二个元素前插入元素 666
v.insert(pos,n,x) 向pos地址指向元素前增加 n 个相同的元素 x
v.insert(v.begin(),3,666); //在首元素前插入 3 个元素 666
v.insert(pos,first,last) 向pos地址指向元素前插入另一个相同类型向量[first,last)间的数据
v.insert(v.begin(),v2.begin(),v2.end()); //将v2所有元素插入v1之前
3. 删除 Vector 中元素
v.erase(v.begin()); //删除首元素
v.erase(first,last): 删除向量中[first,last)中元素
v.erase(v.begin()+1,v.end()-1); //删除第二个到倒数第二个之间的元素
4. 遍历 Vector 中元素
//直接遍历元素 for(int i=0;i<v.size();i++) { cout<<v[i]<<" "; } //使用迭代器遍历元素 for(vector<int>::iterator i=v.begin();i<v.end();i++) { cout<<*i<<" "; } //使用反向迭代器遍历元素(倒序输出) for(vector<int>::reverse_iterator i=v.rbegin();i<v.rend();i++) { cout<<*i<<" "; }
5. 其他常用方法
//将v中元素设置为v2中元素 v.assign(v2.begin(),v2.end());
总结一下常用语法
语法 | 说明 |
---|---|
vector<int> v; | 创建空vector |
v.push_back(x) | 向尾部增加一个元素 x |
v.insert(pos,x) | 向pos地址指向元素前增加一个元素 x |
v[i] | 访问 i 位置元素 |
v.pop_back() | 删除向量中最后一个元素 |
v.clear() | 清空向量中所有元素 |
v.empty() | 判断向量是否为空 |
v.size() | 返回向量中元素的个数 |
v.begin() | 返回向量头指针(迭代器),指向第一个元素 |
v.end() | 返回向量尾指针(迭代器),指向最后一个元素+1位置 |