vector基本操作
vector
1.一维数组
定义方法:
vector<Template>name;
元素类型可以为预定义类型以及结构体类型
也可指定长度:
例:vector<int>a(10); 但其长度可变
#include<iostream> #include<vector> using namespace std; int main() { vector<int>ve(9); //若规定长度后,自动初始化长度范围内元素为0 cout<<"vector长度:"<<ve.size()<<endl; for(int i=0;i<9;i++) ve.push_back(i);//push_back()向尾部追加元素 cout<<"数组下标访问:"; //一维不定长数组可以用下标访问 for(int i=0;i<18;i++) cout<<ve[i]<<" "; cout<<"\n"; //使用迭代器访问 cout<<"使用迭代器访问:"; vector<int>::iterator it; for(it=ve.begin();it!=ve.end();it++) cout<<*it<<" "; }
2.二维数组:
定义:vector<vector<int> > Matrix(N, vector<int>(M));
vector<vector<int> > Mat(3, vector<int>(4)); for(int i=0;i<Mat.size();i++) for(int j=0;j<Mat[0].size();j++) Mat[i][j]=1; for(vector<vector<int> >::iterator it=Mat.begin();it!=Mat.end();it++) { for(vector<int>::iterator i=it->begin();i!=it->end();i++) cout<<(*i)<<" "; cout<<"\n"; } //迭代器没有重载加号+ vector<int>tem; for(int i=0;i<4;i++) tem.push_back(i); Mat.push_back(tem);//push_back()同类型的数据 for(vector<vector<int> >::iterator it=Mat.begin();it!=Mat.end();it++) { for(vector<int>::iterator i=it->begin();i!=it->end();i++) cout<<(*i)<<" "; cout<<"\n"; }
容器vector基本操作:
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。
1 基本操作
(1)头文件#include<vector>.
(2)创建vector对象,vector<int> vec;
(3)尾部插入数字:vec.push_back(a);
(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。
(5)使用迭代器访问元素.
(6)插入元素: vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;
(7)删除元素: vec.erase(vec.begin()+2);删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始
(8)向量大小:vec.size();
(9)清空:vec.clear();