头文件#include<vector>
1.创建vector对象
1.不指定容器大小 vector <int> v;
2.指定容器大小 vector <double> v(10);
3.附带初值 vector <double> b(10,8.6);//此容器有十个元素,每一个都是8.6;
2.元素的插入
insert()方法可以在vector容器的任意位置插入一个元素,同时所有后面的元素向后移动一位。注意:需要用迭代器;
3.元素的删除
erase()方法可以删除vector中迭代器所指的一个元素或者一段区间中的元素;clear()方法则一次性删除vector中的所有元素。
#include<iostream>
#include<stdio.h> #include<vector> #include<algorithm> bool comp(const int &a,const int &b) { if(a!=b)return a>b; else return a>b; } using namespace std; int main() { vector<int>v;//定义verctor容器v; v.push_back(2);//随时向尾部添加元素 v.push_back(5); v.push_back(7); v.push_back(9); v.push_back(11); v.push_back(13); for(int i=0;i<6;i++) printf("%d ",v[i]);//下标法访问vector元素; printf("\n"); //迭代器法访问vector容器元素; vector<int>::iterator it;//定义迭代器变量it for(it=v.begin();it!=v.end();it++) cout<<*it<<" ";//输出迭代器上的元素; cout<<endl; //元素的插入; v.insert(v.begin(),8); v.insert(v.begin()+3,4);//在第三个元素前插入4,注意是原始容器的第三个元素之前; for(it=v.begin();it!=v.end();it++) printf("%d ",*it); printf("\n"); //元素的删除; v.erase(v.begin()+2);//删除第二个元素; v.erase(v.begin()+3,v.begin()+5);//删除3到5的元素; for(it=v.begin();it!=v.end();it++) printf("%d ",*it); printf("\n"); /*v.clear();//清空容器中的元素; printf("%d\n",v.size());//输出容器的大小;*/ reverse(v.begin(),v.end());//反向排列容器中的所有元素; for(it=v.begin();it!=v.end();it++) cout<<*it<<" "; cout<<endl; sort(v.begin(),v.end());//sort排序; for(it=v.begin();it!=v.end();it++) cout<<*it<<" "; cout<<endl; sort(v.begin(),v.end(),comp);//使用comp函数反向排序; for(it=v.begin();it!=v.end();it++) cout<<*it<<" "; cout<<endl; cout<<v.empty()<<endl;//判断容器是否为空; v.clear(); cout<<v.empty()<<endl; return 0; }