STL常用容器总结之七:对组pair与关联容器

8、对组pair 在这部分,我们先介绍一下对组pair与关联容器,之后再介绍常用的几个具体的关联容器。 1、关联容器 关联容器是存储对象集合的类型,支持通过键的高效查询。关联容器的大部分行为与顺序容器相同,二者的本质区别在于关联容器通过键存储和读取元素,而顺序容器是通过元素在容器中的位置顺序存储和访

STL 

STL常用容器总结之六:基于deque的顺序容器适配器

7、基于 deque 的顺序容器适配器 1、stack 的基本概念 Stack 即栈,允许新增元素、移除元素、取得最顶端元素。但除了最顶端外,没有任何其他方法可以存取 stack 的其他元素,换言之,stack 不允许随机访问。可以将 stack 看成是封闭了一端开口的 deque。 将元素插入 s

STL 

STL常用容器总结之五:双端队列deque

6、双端队列deque 所谓的deque是”double ended queue”的缩写,双端队列不论在尾部或头部插入元素,都十分迅速。而在中间插入元素则会比较费时,因为必须移动中间其他的元素。双端队列是一种随机访问的数据类型,提供了在序列两端快速插入和删除操作的功能,它可以在需要的时候改变自身大小

STL 

STL常用容器总结之四:链表list

5、链表 list List 是每个节点包含前驱指针、后继指针和数据域三个部分的双向链表。List 不提供随机存取,访问元素需要按顺序走到需存取的元素,时间复杂度为 O(n),在 list 的任何位置上执行插入或删除操作都非常迅速,只需在 list 内部调整一下指针。list 不仅是一个双向链表,而

STL 

STL常用容器总结之三:向量vector

4、向量 vector Vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。Vector 的数据安排及操作方式与 array 非常相似,唯一的差别在于 array 是静态空间,一旦配置了就不能改变;vector 是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素

STL 

STL常用容器总结之二:顺序容器

3、顺序容器 所谓序列式容器,其中的元素都可序(ordered),但未必有序(sorted)。array 为 C++ 语言内置的序列容器,STL 另外提供 vector、list、deque、stack、queue 等等顺序式容器。它们的差别在于访问元素的方式,以及添加或删除元素相关操作的运行代价。

STL 

STL常用容器总结之一:容器与迭代器

声明: 1、本博文主要整理自《C++ Primer》和《STL 源码剖析》这两本经典书籍。同时,也参考了网络中不少优秀博客,对这些博客的作者表示感谢。 2、由于博主能力有限,对于一些容器的用法可能尚未进行深入研究。因此,本博文若有错误和不足之处,欢迎大家批评指正。 3、本博文仅作学术交流只用,无任何

STL 

STL容器使用经验总结

第 1 条:慎重选择容器类型。 标准 STL 序列容器:vector、string、deque 和 list。 标准 STL 关联容器:set、multiset、map 和 multimap。 非标准序列容器 slist 和 rope。slist 是一个单向链表,rope 本质上是一“重型”stri

STL 

STL常用容器总结之十一:heap

头文件 algorithm make_heap();建堆,大顶堆从小到大排序,小顶堆从大到小排序 pop_heap();把第一个和最后一个调换,然后把[first,end-1]重新构堆 push_heap();假设一开始是个有效堆,加进来一个或者一组元素重新构堆 sort_heap();堆排序 #i

STL 

STL常用容器总结之八:map

map 的详细用法: map 是 STL 的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在 map 中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下 map 内部数据的组织,map 内

STL