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

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

cb08a_c++_顺序容器的操作1的更多相关文章

  1. cb14a_c++_顺序容器的操作7_赋值与交换(swap)_vector转list

    cb14a_c++_顺序容器的操作7_赋值与交换(swap) vector数据赋值给list, slist.assign(svec.begin(), svec.end());//这样可以转 svec- ...

  2. ca13a_c++_顺序容器的操作6删除元素

    /*ca13a_c++_顺序容器的操作6删除元素c.erase(p) //删除迭代器p指向的位置c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括c.clear()//删 ...

  3. cb11a_c++_顺序容器的操作4_容器大小操作_resize-max_size

    cb11a_c++_顺序容器的操作4 2 容器大小的操作 3 c.size() 容器当前的个数 4 c.max_size(),容器最大存储量 5 c.empty() 是否为空 6 c.resize(n ...

  4. cb10a_c++_顺序容器的操作3关系运算符

    cb10a_c++_cb09a_c++_顺序容器的操作3 2 顺序容器的操作3 3 关系运算符 4 所有的容器类型都可以使用 5 比较的容器必须具有相同的容器类型,double不能与int作比较 6 ...

  5. cb09a_c++_顺序容器的操作2-在顺序容器中添加元素_插入数据

    cb09a_c++_顺序容器的操作2在顺序容器中添加元素vector不能向前插入数据,list可以用insertc.push_back(t);c.push_front(t);c.insert(p,t) ...

  6. cb16a_c++_顺序容器的选用_排序_二分查找

    /*cb16a_c++_顺序容器的选用_排序_二分查找顺序容器: 1.vector的优点与缺点 vector优点:排序利用下标,快速排序,做二分查找非常快 2.list的优点与缺点 list优点:插入 ...

  7. ca12a_c++顺序容器的操作5_访问容器中的数据元素

    ca12a_c++顺序容器的操作5_访问容器中的数据元素访问元素:c.back()..显示最后一个数据c.front() ..显示第一个数据c[n],n就是下标,适合vector与dequec.at( ...

  8. cb06a_c++_顺序容器的定义

    /*cb06a_c++_顺序容器的定义顺序容器:vector,数组,尾端操作数据,快速随机访问list 链表,快速插入数据deque数组,双端-首尾操作数据,方便两端的数据访问 顺序容器适配器:sta ...

  9. cb03a_c++_数据结构_顺序容器_STL_stack

    /*cb03a_c++_数据结构_顺序容器_STL_stack堆栈:LIFO--Last In First Out后进先出,用于系统程序设计自适应容器(容器适配器),不是独立的容器,是一个适配器栈适配 ...

随机推荐

  1. Mysql与Mysqli的区别及特点

    1)PHP-MySQL 是 PHP 操作 MySQL 资料库最原始的 Extension ,PHP-MySQLi 的 i 代表 Improvement ,提更了相对进阶的功能,就 Extension ...

  2. C#网络编程入门之TCP

    目录: C#网络编程入门系列包括三篇文章: (一)C#网络编程入门之UDP (二)C#网络编程入门之TCP (三)C#网络编程入门之HTTP 一.概述 UDP和TCP是网络通讯常用的两个传输协议,C# ...

  3. [ubuntu][mysql 5.7]安装后没有密码?如何登录

    环境:(2020-04-21) WSL ubuntu LTS 18.04.1 mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) 找到随机密码 # 显 ...

  4. 大O符号初学者指南

    原文地址:https://rob-bell.net/2009/06/a-beginners-guide-to-big-o-notation/ 计算机科学中,大O表示法被用来描述一个算法的性能或复杂度. ...

  5. 【Ubuntu】Ubuntu中下载特定版本内核和设置某版本内核为默认启动内核

    0. 基本命令 uname -a # 查看当前所使用内核 dpkg -l | grep linux # dpkg后是lmn的l.查看当前操作系统的内核 dekg -l | grep linux-ima ...

  6. SD.Team主题形象小人偶

              W e ♥ S D     ♫ ♪ 咔咔咔~可能源码冲突会造成小人偶光头 :)

  7. Java实现 LeetCode 268 缺失数字

    268. 缺失数字 给定一个包含 0, 1, 2, -, n 中 n 个数的序列,找出 0 - n 中没有出现在序列中的那个数. 示例 1: 输入: [3,0,1] 输出: 2 示例 2: 输入: [ ...

  8. Java实现 LeetCode 33 搜索旋转排序数组

    33. 搜索旋转排序数组 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值, ...

  9. Java实现 洛谷 P1115 最大子段和

    import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scann ...

  10. Java实现 洛谷 P1421 小玉买文具

    import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = ...