C++STL pair类模板
摘要:1、简介 要了解 STL 中的 pair 类模板,因为关联容器的一些成员函数的返回值是 pair 对象,而且 map 和 multimap 容器中的元素都是 pair 对象。 2、pair的定义 1 template <class_Tl, class_T2> 2 struct pair 3 { 4
阅读全文
C++deque双向队列
摘要:1、简介 deque 也是顺序容器的一种,同时也是一个可变长数组。要使用 deque,需要包含头文件 deque。所有适用于 vector 的操作都适用于 deque。 在 deque 中,随机存取任何元素都能在常数时间内完成(但慢于vector)。它相比于 vector 的优点是,vector 在
阅读全文
C++ STL关联容器
摘要:1、简介 关联容器内部的元素都是排好序的,有以下四种。 set:排好序的集合,不允许有相同元素。 multiset:排好序的集合,允许有相同元素。 map:每个元素都分为关键字和值两部分,容器中的元素是按关键字排序的。不允许有多个元素的关键字相同。 multimap:和 map 类似,差别在于元素的
阅读全文
C++list容器
摘要:1、双向链表简介 list 是顺序容器的一种。list 是一个双向链表。使用 list 需要包含头文件 list。双向链表的每个元素中都有一个指针指向后一个元素,也有一个指针指向前一个元素。在 list 容器中,在已经定位到要增删元素的位置的情况下,增删元素能在常数时间内完成。list 容器不支持根
阅读全文
C++ STL Vector
摘要:1、简介 vector 是顺序容器的一种。vector 是可变长的动态数组,支持随机访问迭代器,所有 STL 算法都能对 vector 进行操作。要使用 vector,需要包含头文件 vector。 在 vector 容器中,根据下标随机访问某个元素的时间是常数,在尾部添加一个元素的时间大多数情况下
阅读全文
C++STL stack栈
摘要:1、简介 stack 是容器适配器的一种。要使用 stack,必须包含头文件 <stack>。 stack就是“栈”。栈是一种后进先出的元素序列,访问和删除都只能对栈顶的元素(即最后一个被加入栈的元素)进行,并且元素也只能被添加到栈顶。栈内的元素不能访问。如果一定要访问栈内的元素,只能将其上方的元素
阅读全文
C++STL容器适配器
摘要:1、简介 STL 中的容器适配器有 stack、queue、priority_queue 三种。它们都是在顺序容器的基础上实现的,屏蔽了顺序容器的一部分功能,突出或增加了另外一些功能。 容器适配器都有以下三个成员函数: push:添加一个元素。 top:返回顶部(对 stack 而言)或队头(对 q
阅读全文
C++ STL map和multimap
摘要:1、map简介 map 是关联容器的一种,map 的每个元素都分为关键字和值两部分,容器中的元素是按关键字排序的,并且不允许有多个元素的关键字相同。 注意:不能直接修改 map 容器中的关键字。因为 map 中的元素是按照关键字排序的,当关键字被修改后,容器并不会自动重新调整顺序,于是容器的有序性就
阅读全文
C++ STL set和multiset
摘要:1、简介 set 是关联容器的一种,是排序好的集合(元素已经进行了排序)。set 和 multiset 类似,它和 multiset 的差别在于 set 中不能有重复的元素。multiset 的成员函数 set 中也都有。 不能直接修改 set 容器中元素的值。因为元素被修改后,容器并不会自动重新调
阅读全文
C++STL queue和priority_queue
摘要:1、简介 queue 和 priority_queue 都是容器适配器,要使用它们,必须包含头文件 <queue>。 2、queue queue 就是“队列”。队列是先进先出的,和排队类似。队头的访问和删除操作只能在队头进行,添加操作只能在队尾进行。不能访问队列中间的元素。queue 可以用 lis
阅读全文
C++STL容器和迭代器
摘要:1、简介 容器(container)用于存放数据的类模板。可变长数组、链表、平衡二叉树等数据结构在 STL 中都被实现为容器。程序员使用容器时,就是将容器类模板实例化为容器类,需要指明容器中存放的元素是什么类型的。 容器中可以存放基本类型的变量,也可以存放对象。对象或基本类型的变量被插入容器中时,实
阅读全文