STL容器学习

STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称
。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发
出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的
一段时间。
STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(
迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数
和类组成的库来说提供了更好的代码重用机会。在C++标准中,STL被组织为下面的13个
头文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<m
ap>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>。

总结一下它们和相应头文件的对应关系。
数据结构                   描述                                                  实现头文件
向量(vector)             连续存储的元素                                     <vector>
列表(list)                  由节点组成的双向链表,每个结点包含着一个元素 <list>
双队列(deque)         连续存储的指向不同元素的指针所组成的数组  <deque>
集合(set)                 由节点组成的红黑树,每个节点都包含着一个元素,节点之间以某种作用于
元素对的谓词排列,没有两个不同的元素能够拥有相同的次序   <set>
多重集合(multiset)    允许存在两个次序相等的元素的集合      <set>
栈(stack)                 后进先出的值的排列                      <stack>
队列(queue)            先进先出的执的排列                        <queue>
优先队列(priority_queue) 元素的次序是由作用于所存储的值对上的某种谓词决定的的
一种队列                                                <queue>
映射(map)                 由{键,值}对组成的集合,以某种作用于键对上的谓词排列  <map>
多重映射(multimap)    允许键对有相等的次序的映射        <map>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值