vector的常用总结
1 基本操作
(1)头文件#include<vector>.一定要加上using namespace std;或者使用时std::vector<int>vec;
(2)创建vector对象,vector<int> vec;(可以是结构体类型)
2 详细的函数实现功能:其中vector<int> c.
c.clear() 移除容器中所有数据。
c.empty() 判断容器是否为空。
c.erase(pos) 删除pos位置的数据
c.erase(beg,end) 删除[beg,end)区间的数据
c.front() 传回第一个数据。
c.insert(pos,elem) 在pos位置插入一个elem拷贝
c.pop_back() 删除最后一个数据。
c.push_back(elem) 在尾部加入一个数据。
c.resize(num) 重新设置该容器的大小
c.size() 回容器中实际数据的个数。
c.begin() 返回指向容器第一个元素的迭代器
c.end() 返回指向容器最后一个元素的迭代器
3 代码测试
#include<iostream>
#include<vector> using namespace std; int main(){ vector<int>v; int a=1,b=2,c=3,d=4,e=5; //插入 v.push_back(a); v.push_back(c);//插入a,c v.insert(v.begin()+1,b);//在第二个位置插入b
cout<<"容器中第一个数的值为:"<<v.front()<<endl;
cout<<"容器中实际数据的个数:"<<v.size()<<endl; cout<<"容器中数据有:"; for(int i=0;i<v.size();i++) cout<<v[i]<<" "; cout<<endl; //返回第一个元素和最后一个元素的地址 //注意:end返回的是最后一个元素+1的地址! cout<<"容器中第一个元素为:"<<*v.begin()<<endl; cout<<"容器中最后一个元素为:"<<*(v.end()-1)<<endl; //删除 v.pop_back(); cout<<"容器中实际数据的个数:"<<v.size()<<endl; cout<<"容器中数据有:"; for(int i=0;i<v.size();i++) cout<<v[i]<<" "; cout<<endl; v.erase(v.begin());//删除某个位子的数据 cout<<"容器中实际数据的个数:"<<v.size()<<endl; cout<<"容器中数据有:"; for(int i=0;i<v.size();i++) cout<<v[i]<<" "; cout<<endl; //现在还原删除的数据 v.insert(v.begin(),a); v.push_back(c); cout<<"容器中实际数据的个数:"<<v.size()<<endl; cout<<"容器中数据有:"; for(int i=0;i<v.size();i++) cout<<v[i]<<" "; cout<<endl; v.erase(v.begin(),v.end());//删除[begin,end)区间的数据 cout<<"容器中实际数据的个数:"<<v.size()<<endl; cout<<"容器中数据有:"; for(int i=0;i<v.size();i++) cout<<v[i]<<" "; cout<<endl; //判断是否为空 v.push_back(a); v.clear(); cout<<"容器是否为空:"<<v.empty()<<endl; return 0; }