stl理解

本文介绍了标准模板库(STL)的三大核心组件:算法、容器和迭代器,并详细阐述了各种容器的特点及应用场景,如向量、列表、集合、映射等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STL通过模板的机制允许推迟对某些类型的选择,直到真正想使用模板或者说对模板进行特化的时候。

STL从广义上讲分3类:slgorithm(算法)、container(容器)、iterator(迭代器)。几乎所有的代码都采用了模板类和模板函数的方式,相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。包括13个头文件:

算法:algorithm functional numeric

容器:dequeue vector list map set stack queue

迭代器:iterator 

1.容器

连续存储的元素:

vector(向量) deque(双队列)

向量:连续存储的元素

列表:由节点组成的双向链表,每一个节点包含着一个元素

双队列:连续存储的指向不同元素的指针所组成的数组

集合:由节点组成的红黑树,每个节点都包含着一个元素,节点之间以某种作用于元素对的谓词排列,没有两个不同的元素能够拥有相同的次序

多重集合:允许存在两个次序相等的元素的集合

栈:先进后出的值的排列

队列:先进先出的值的排列

优先队列:元素的次序是由作用于所存储的值对上的某种谓词决定的一种队列

映射:由{键,值}对组成的集合,以某种作用于键对上的谓词排列

多重映射:允许键对有相等的次序的映射



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值