• 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 }
    欢迎讨论,相互学习。 txwtech@163.com
  • 相关阅读:
    541. Reverse String II
    540. Single Element in a Sorted Array
    初识python
    openCV
    openCV
    win环境下安装配置openCV-4.3.0
    力扣Leetcode 198. 打家劫舍
    力扣Leetcode 680. 验证回文字符串 Ⅱ
    力扣Leetcode 560. 和为K的子数组
    华师2019软件专硕复试机试题最后一题G:找数
  • 原文地址:https://www.cnblogs.com/txwtech/p/12312087.html
Copyright © 2020-2023  润新知