C++ vector

 

基础应用

 1 vector<int> a;    //声明一个int型向量a
 2 vector<int> a(10);    //声明一个初始大小为10的向量
 3 vector<int> a(10, 1);    //声明一个初始大小为10且初始值都为1的向量
 4  
 5 vector<int> b(a);    //声明并用向量a初始化向量b
 6 vector<int> b(a.begin(), a.begin()+3);    //将a向量中从第0个到第2个(共3个)作为向量b的初始值   
 7  
 8 int n[] = {1, 2, 3, 4, 5};
 9 vector<int> a(n, n+5);    //将数组n的前5个元素作为向量a的初值
10 vector<int> a(&n[1], &n[4]);    //将n[1] - n[4]范围内的元素作为向量a的初
1 vector<int> a;
2 a.push_back(1);    //在尾部加入一个数据
3 a.pop_back();      //删除最后一个数据
4 a.insert(a.begin(), 0);    //在a.begin()之前加入0
5 a.erase(a.begin());    //将a.begin()的元素删除
6 a.erase(a.begin() + 1, a.end());    //将第二个元素以后的元素均删除
 1 vector<int> a;
 2 //像数组一样以下标访问 
 3 for(int i = 0; i < a.size(); i++){
 4     cout << a[i];
 5 }
 6  
 7 //以迭代器访问
 8 vector<int>::iterator it;
 9 for(it=a.begin(); it!=a.end(); it++){
10     cout<<*it<<" " ;
11 }
1 #include <algorithm>
2  
3 vector<int> a;
4 sort(a.begin(), a.end());
1 vector<vector<int>> a(10, vector<int>(5));    //创建一个10行5列的int型二维数组 相当于a[10][5]

 

算法

(1) 使用reverse将元素翻转:

1 #include<algorithm>
2 
3 reverse(vec.begin(),vec.end());  //将元素翻转,即逆序排列

 

(2)使用sort排序:

 1 #include<algorithm> 2 
 3 //定义排序比较函数
 4 bool Comp(const int &a,const int &b)
 5 {
 6     return a>b;
 7 }
 8 
 9 //调用
10 sort(vec.begin(),vec.end()); //默认是按升序排列,即从小到大
11 sort(vec.begin(),vec.end(),Comp),//这样就降序排序

 

posted @ 2018-04-25 17:34  听说这是最长的名字了  阅读(435)  评论(0编辑  收藏  举报