STL

STL分为算法,数据结构,迭代器三部分。

STL是对数据结构及其相应增删差改排序等操作的封装,面向对象的语言都这样,会主动提供这个对象所拥有的操作。

STL的数据结构的实现,算法的实现。都可以用C语言查看。  书目:《stl源码剖析》。

STL就是工具集,每使用一种工具,需要包含相应的头文件:

向量(vector) 连续存储的元素<vector>    PS:底层实现是一个较大的数组

列表(list)       由节点组成的双向链表,每个结点包含着一个元素<list>

双队列(deque) 连续存储的指向不同元素的指针所组成的数组<deque>

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

多重集合(multiset) 允许存在两个次序相等的元素的集合 <set>

  PS:set和multiset的区别是:set插入的元素不能相同,但是multiset可以相同(例子:通讯录,一个人有多个手机号码)。

(stack) 后进先出的值的排列 <stack>

队列(queue) 先进先出的执的排列 <queue>

优先队列(priority_queue) 元素的次序是由作用于所存储的值对上的某种谓词决定的的一种队列 <queue>

映射(map) {键,值}对组成的集合,以某种作用于键对上的谓词排列 <map>   make_pair

多重映射(multimap) 允许键对有相等的次序的映射 <map>

PS:map  multmap 的区别在于 multmap的key可以重复,一个key可以对应多个值, 这样就涉及重载

堆(heap):建立大小堆,并排序 <heap>. sort_heap;


未完待续。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值