STL-vector

Posted jishuren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL-vector相关的知识,希望对你有一定的参考价值。

  1 #include <iostream>
  2 #include <cstdio>
  3 #include <vector>
  4 
  5 using namespace std;
  6 
  7 // 注意:vector在尾部添加或移动元素非常快,在中间操作非常耗时,因为它需要移动元素
  8 
  9 
 10 int main()
 11 {
 12     vector<int> v1;
 13     //push_back
 14     v1.push_back(1);
 15     //pop_back
 16     v1.push_back(2);
 17     // front,back,可以做左值
 18     cout<<v1.front()<<endl;
 19     cout<<v1.back()<<endl;
 20     // 左值
 21     v1.back()=5;
 22 
 23     for(vector<int>::iterator it=v1.begin();it!=v1.end();++it)
 24     {
 25         cout<<*it<<" ";
 26     }
 27     cout<<endl;
 28 
 29     v1.pop_back();
 30 
 31     for(vector<int>::iterator it=v1.begin();it!=v1.end();++it)
 32     {
 33         cout<<*it<<" ";
 34     }
 35     cout<<endl;
 36 
 37 
 38     // 以上是直接初始化方式
 39     // 还有以下三种初始化方式
 40     vector<int> v2=v1;
 41 
 42     vector<int> v3(v1.begin(),v1.begin()+1);
 43     vector<int> v4(v1.begin(),v1.end());
 44 
 45     vector<int> v5(3,9);
 46 
 47     for(vector<int>::iterator it=v5.begin();it!=v5.end();++it)
 48     {
 49         cout<<*it<<" ";
 50     }
 51     cout<<endl;
 52 
 53 
 54     for(int i=0;i<=5;++i)
 55     {
 56         v1.push_back(i);
 57     }
 58 
 59     // 用迭代器,逆向遍历
 60     for(vector<int>::reverse_iterator it=v1.rbegin();it!=v1.rend();it++)
 61     {
 62         cout<<*it<<" ";
 63     }
 64     cout<<endl;
 65     // 正向
 66     for(vector<int>::iterator it=v1.begin();it!=v1.end();++it)
 67     {
 68         cout<<*it<<" ";
 69     }
 70     cout<<endl;
 71 
 72 
 73     vector<int> v(10);
 74     cout<<v.size()<<endl;
 75 
 76     v.push_back(100);
 77 
 78     cout<<v.size()<<endl;
 79     for(vector<int>::iterator it=v.begin();it!=v.end();++it)
 80     {
 81         cout<<*it<<" ";
 82     }
 83     cout<<endl;
 84 
 85     // 删除
 86     for(vector<int>::iterator it=v1.begin();it!=v1.end();++it)
 87     {
 88         cout<<*it<<" ";
 89     }
 90     cout<<endl;
 91     v1.erase(v1.begin(),v1.begin()+3);
 92     for(vector<int>::iterator it=v1.begin();it!=v1.end();++it)
 93     {
 94         cout<<*it<<" ";
 95     }
 96     cout<<endl;
 97 
 98     v1.erase(v1.begin()+3);
 99     for(vector<int>::iterator it=v1.begin();it!=v1.end();++it)
100     {
101         cout<<*it<<" ";
102     }
103     cout<<endl;
104 
105 
106     // 插入
107     v1.insert(v1.begin()+2,10);
108     for(vector<int>::iterator it=v1.begin();it!=v1.end();++it)
109     {
110         cout<<*it<<" ";
111     }
112     cout<<endl;
113 
114     v1.insert(v1.begin()+1,3,33);
115     for(vector<int>::iterator it=v1.begin();it!=v1.end();++it)
116     {
117         cout<<*it<<" ";
118     }
119     cout<<endl;
120 
121 
122     return 0;
123 }

 

以上是关于STL-vector的主要内容,如果未能解决你的问题,请参考以下文章

STL-vector

STL-vector

STL-vector,stack,list,queue

bzoj2724[Violet 6]蒲公英 分块+STL-vector

C++提高编程STL-vector容器

微信小程序代码片段