c++vector全部用法
时间: 2023-10-29 22:05:37 浏览: 197
C++中的vector是一个动态数组,可以在运行时动态地增加或减少其大小。以下是vector的全部用法:
1.创建vector:vector<int> vec; //创建一个空的vector
2.添加元素:vec.push_back(1); //在vector的末尾添加一个元素1
3.访问元素:vec; //访问vector中的第一个元素
4.获取vector的大小:vec.size(); //获取vector中元素的个数
5.使用迭代器访问元素:vector<int>::iterator it; for(it=vec.begin();it!=vec.end();it++) cout<<*it<<endl;
6.删除元素:vec.erase(vec.begin()+1); //删除vector中的第二个元素
7.清空vector:vec.clear(); //清空vector中的所有元素
8.判断vector是否为空:vec.empty(); //如果vector为空,则返回true,否则返回false
9.排序:sort(vec.begin(),vec.end()); //按升序排序
10.结构体作为vector的元素:typedef struct rect { int id; int length; int width; //对于向量元素是结构体的,可在结构体内部定义比较函数,下面按照id,length,width升序排序。 bool operator< (const rect &a) const { if(id!=a.id) return id<a.id; else { if(length!=a.length) return length<a.length; else return width<a.width; } } }Rect; vector<Rect> vec; Rect rect; rect.id=1; rect.length=2; rect.width=3; vec.push_back(rect); vector<Rect>::iterator it=vec.begin(); cout<<(*it).id<<' '<<(*it).length<<' '<<(*it).width<<endl;
11.自定义比较函数:bool Comp(const int &a,const int &b){ return a>b;}调用时:sort(vec.begin(),vec.end(),Comp),这样就降序排序。
阅读全文