vector container

来源:互联网 发布:爱丽思 淘宝 日本 编辑:程序博客网 时间:2024/04/28 13:02
#include<vector>//下标从0开始,大小可以先定义,事后可以随时用push_back()和insert()扩张调整#include<algorithm>using namespace std;bool cmp(int a,int b)//bool cmp(const int &a,const int &b){return a>b;}int main(){vector<int> V1;//不指定元素个数,int可换为double,char,结构体,string等vector<int> V2(5);vector<double> V3(5);//储存10个double类型元素,每个值初始化0.0//指定了大小都有赋初值vector<double> V4(10,8.6);//储存10个double类型元素,每个值初始化8.6int i;//push_back()尾部追加新元素V2.push_back(1);V2.push_back(2);//insert()元素的插入V2.insert(V2.begin(),8);//在最前面插入新元素8,即插入到下标为0的前面,也就是在第1个元素前V2.insert(V2.begin()+2,7);//插入到下标为2的前面,也就是在第3个元素前V2.insert(V2.end(),3);//在向量末尾追加新元素//下标式访问vector元素for(i=0;i<V2.size();i++)//size()求向量大小,empty()判断是否空printf("%d-",V2[i]);//printf("%.2d-",V2[i]);??????????printf("end\n");//erase()元素的删除,一个元素或是一段区间//clear()删除全部    V2.erase(V2.begin()+2);//删除下标为2的元素V2.erase(V2.begin()+1,V2.begin()+5);//删除下标为1到4的元素//[)区间?//reverse反向排列算法//要头文件#include<algorithm>reverse(V2.begin(),V2.end());//sort算法对向量元素排序sort(V2.begin(),V2.end());sort(V2.begin(),V2.end(),cmp);//用迭代器访问vector元素vector<int>::iterator it;//定义迭代器变量//类型要一致for(it=V2.begin();it!=V2.end();it++)printf("%d-",*it);printf("end\n");return 0;}