![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL总结
YangLei253
这个作者很懒,什么都没留下…
展开
-
STL总结之string
介绍string 是一个封装字符串的容器。string 定义于头文件 <string> 中,其声明如下:template< class CharT, class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>> c...原创 2019-07-28 23:12:02 · 140 阅读 · 0 评论 -
STL总结之queue
介绍queue 是容器适配器,它提供程序员队列数据结构的功能。queue 底层容器有两种可选—— deque 和 list。默认使用 deque。queue 定义于头文件 <queue>,其声明如下:template< class T, class Container = std::deque<T>> class queue;成员函...原创 2019-07-28 18:15:10 · 146 阅读 · 0 评论 -
STL总结之stack
介绍stack 是容器适配器,它提供程序员栈数据结构的功能。stack 底层容器有三种可选—— vector、deque、list,默认使用 deque。stack 定义于头文件 <stack>,其声明如下:template< class T, class Container = std::deque<T>> class stack;...原创 2019-07-28 18:00:45 · 143 阅读 · 0 评论 -
STL总结之multimap
介绍multimap 是一个封装红黑树 (自平衡二叉树) 的关联容器。容器中每个元素都是 key/value,其中 key 为排序对象。每个 key 可重复出现。multimap 可被当做 字典 使用。multimap 定义于头文件 <map> 中,其声明如下:template< class Key, class T, class Compare ...原创 2019-07-28 16:15:36 · 558 阅读 · 0 评论 -
STL总结之map
介绍map 是一个封装红黑树 (自平衡二叉树) 的关联容器。容器中每个元素都是 key/value,其中 key 为排序对象。每个 key 只能出现一次,不允许重复出现。map 定义于头文件 <map> 中,其声明如下:template< class Key, class T, class Compare = std::less<Key>...原创 2019-07-28 13:01:13 · 334 阅读 · 0 评论 -
STL总结之multiset
介绍multiset 是一个封装红黑树 (自平衡二叉树) 的关联容器,其中元素依据其值自动排序且每个元素可出现任意次。multiset 定义于头文件 <set> 中,其声明如下:template< class Key, class Compare = std::less<Key>, class Allocator = std::alloc...原创 2019-07-28 11:08:44 · 1065 阅读 · 0 评论 -
STL总结之set
介绍set 是一个封装红黑树 (自平衡二叉树) 的关联容器,其中元素依据其值自动排序且每个元素仅能出现一次。set 容器定义于头文件 <set>,其声明如下:template< class Key, class Compare = std::less<Key>, class Allocator = std::allocator<Ke...原创 2019-07-28 09:34:59 · 276 阅读 · 0 评论 -
STL总结之forward_list
介绍forward_list 是一个封装单向链表的顺序容器,属于受限的 list,可以高效地实现在任意位置插入或删除元素,但是无法通过其索引位置进行访问。forward_list 定义于头文件 <forward_list>,其声明如下:template< class T, class Allocator = std::allocator<T>&...原创 2019-07-27 15:25:57 · 385 阅读 · 0 评论 -
STL总结之list
介绍list 是一个封装双向链表的顺序容器,可以高效地实现在任意位置插入或删除元素,但是无法通过其索引位置进行访问。list 定义于头文件 <list>,其声明如下:template< class T, class Allocator = std::allocator<T>> class list;list 顺序容器是一个类。初...原创 2019-07-26 22:52:42 · 222 阅读 · 0 评论 -
STL总结之deque
介绍deque 是一种双向开口的连续线性空间,可以高效地在头尾两端插入和删除元素、使用索引位置访问元素,但是在中部插入元素是比较麻烦的。deque 容器可以实现高效地在头尾两端插入和删除操作,这就意味着它绝不是基于一个数组实现的。它的实现机制如图示:queue 定义于头文件 <deque>,其声明如下:template< class T, class A...原创 2019-07-26 01:03:03 · 218 阅读 · 0 评论 -
STL总结之vector
介绍vector 是一个封装动态数组的顺序容器,可以高效地在尾部插入和删除元素、使用索引位置访问元素,但是在中部插入或删除元素是比较麻烦的。vector 定义于头文件 <vector>,其声明如下:template< class T, class Allocator = std::allocator<T>> class vector;...原创 2019-07-25 23:54:13 · 202 阅读 · 0 评论 -
STL总结之unordered_map/unordered_multimap
介绍unordered_map 是一个封装哈希表的无序容器。容器中每个元素都是 key/value,每个 key 仅可出现一次。unordered_multimap 是一个封装哈希表的无序容器。容器中每个元素都是 key/value,每个 key 可重复出现。unordered_map 和 unordered_multimap 均定义于头文件 <unordered_map> 中,...原创 2019-07-30 00:46:46 · 2746 阅读 · 1 评论 -
STL总结之unordered_set/unordered_multiset
介绍unordered_set 是一个封装哈希表的无序容器,其中每个元素仅可出现一次。unordered_multiset 是一个封装哈希表的无序容器,其中每个元素可出现任意次。unordered_set 和 unordered_multiset 均定义于头文件 <unordered_set> 中,各自声明如下:template< class Key, c...原创 2019-07-29 19:56:14 · 1184 阅读 · 0 评论 -
STL总结之array
介绍array 是一个封装普通数组的顺序容器,其数组大小固定,可以使用索引位置访问元素,受限地在尾部插入和删除元素,但是受限地在中部插入或删除元素是比较麻烦的 (受限指的是可能因为数组大小原因,导致操作失败)。array 定义于头文件 <array>,其声明如下:template< class T, std::size_t N> struct array;...原创 2019-07-25 23:01:08 · 767 阅读 · 0 评论 -
STL 总结目录
定义从程序员的角度来看,STL 是由一些可适应不同需求的集合类和一些能够在这些数据集合上运作的算法组成。组成STL = 容器 + 迭代器 + 算法。容器用于管理某类对象的集合。每一种容器都有其优点或缺点,因此为应对不同需求,STL 准备了不同的容器类型。迭代器用来在一个对象集合内遍历元素,而且这个对象集合可以是整个容器,也可以是容器的一部分。迭代器的优点在于:为所有各式各样的容...原创 2019-07-24 00:22:05 · 131 阅读 · 0 评论 -
STL总结之priority_queue
介绍priority_queue 是容器适配器,它提供程序员堆数据结构的功能。priority_queue 底层容器有两种可选—— vector、deque,默认使用 vector。priority_queue 定义于头文件 <queue> 中 ,其声明如下:template< class T, class Container = std::vector&...原创 2019-07-28 18:49:41 · 138 阅读 · 0 评论