cb08a_c++_顺序容器的操作1

cb08a_c++_顺序容器的操作1
容器定义的类型别名
begin(闭区间)和end(开区间)成员
{first,last)左闭右开,左包括,右不包括,end()指向最后一个的下一个。

  1 /*cb08a_c++_顺序容器的操作1
  2 容器定义的类型别名
  3 begin(闭区间)和end(开区间)成员
  4 {first,last)左闭右开,左包括,右不包括,end()指向最后一个的下一个。
  5 
  6 
  7 
  8 */
  9 
 10 
 11 #include <iostream>
 12 #include <vector>
 13 #include <list>
 14 #include <deque>
 15 using namespace std;
 16 
 17 int main()
 18 {
 19     vector<int> a;
 20     
 21     list<int> b; //链表没有下表,不能用数组表示
 22     deque<int> c;
 23 
 24     //error C2663: “std::vector<int,std::allocator<_Ty>>::push_back”: 2 个重载没有“this”指针的合法转换
 25     //ca.push_back(11);//const vector不能直接放数据
 26 
 27 
 28 
 29     a.push_back(10);
 30     a.push_back(20);
 31     a.push_back(30);
 32     const vector<int> ca(a);//const可以通过非const vector传入数据,进行初始化。类似于:ca=a;
 33 
 34     b.push_back(100);
 35     b.push_back(200);
 36     b.push_back(300);
 37     
 38     c.push_back(1);
 39     c.push_back(2);
 40     c.push_back(3);
 41     //for(int i=0;i<a.size();++i)//不要使用,因为int类型不够大,可能vector数据会超出。
 42 
 43     for (vector<int>::size_type i = 0; i < a.size(); ++i)
 44         cout << a[i] << endl;
 45     ////链表没有下表,不能用数组表示
 46     /*for (list<int>::size_type k = 0; k < b.size(); ++k)
 47         cout << b[k] << endl;*/
 48 
 49     for (deque<int>::size_type j = 0; j < c.size(); ++j)
 50         cout << c[j] << endl;
 51 
 52     //链表只能用迭代器
 53     vector<int>::iterator firsta = a.begin();
 54     vector<int>::iterator lasta = a.end();//end()指向最后一个的下一个
 55 
 56     vector<int>::const_iterator cfirsta = ca.begin();//const_iterator,const迭代器,操作const vector容器
 57     vector<int>::const_iterator clasta = ca.end();
 58 
 59     while (firsta != lasta)
 60     {
 61         cout <<"迭代器循环: "<< *firsta << endl;
 62         ++firsta;
 63     }
 64     vector<int>::reverse_iterator rfirsta = a.rbegin();//rbegin()逆序迭代器
 65     vector<int>::reverse_iterator rlasta = a.rend();//rend()逆序迭代器
 66 
 67 
 68     vector<int>::size_type a1;
 69     vector<int>::iterator a2;
 70     vector<int>::const_iterator a3;
 71     vector<int>::reverse_iterator a4;//逆序迭代器
 72     vector<int>::const_reverse_iterator a5;
 73     vector<int>::difference_type  a6;//保存容器之间距离
 74 
 75     //泛型程序设计
 76     //vector<int>::value_type       a7;
 77     //vector<int>::reference         a8;//引用
 78     //vector<int>::const_reference  a9;
 79 
 80     list<int>::size_type  b1;
 81     list<int>::iterator   b2;
 82     list<int>::const_iterator b3;
 83     list<int>::reverse_iterator b4;
 84     list<int>::const_reverse_iterator b5;
 85     list<int>::difference_type b6;
 86     /*list<int>::value_type   b7;
 87     list<int>::reference b8;
 88     list<int>::const_reference b9;*/
 89 
 90     deque<int>::size_type  c1;
 91     deque<int>::iterator   c2;
 92     deque<int>::const_iterator c3;
 93     deque<int>::reverse_iterator c4;
 94     deque<int>::const_reverse_iterator c5;
 95     deque<int>::difference_type c6;
 96     /*deque<int>::value_type   c7;
 97     deque<int>::reference c8;
 98     deque<int>::const_reference c9;*/
 99 
100     cout << "hello..." << endl;
101     return 0;
102 }

 

posted @ 2020-02-15 14:33  txwtech  阅读(198)  评论(0编辑  收藏  举报