STL容器简介

STL 标准模板库
 
容器类型
以前的11个容器类型
deque、list、queue、priority_queue、stack、vector、map、multimap、set、multiset、bitset
C++11 新增了 
forward_list、unordered_map、unordered_multimap、unordered_set、unordered_multiset,且不将bitset视为容器,而视为独立的类型


vector 数组的一种类表示,头文件vector
deque 双端队列,头文件deque
list 双向链表,头文件list
forward_list (C++11) 单链表
queue 适配器类,让底层类(默认为deque)展示典型的队列接口,只有队列的基本操作,头文件queue
priority_queue 适配器类,支持操作与queue相同,区别,最大元素被移到队首,默认底层类是vector,可以修改用于确定哪个元素放在队首的比较方式,方法是提供一个可选的构造函数参数(参数为函数),头文件queue
stack 适配器类,给底层类(默认为vector)提供典型的栈接口,头文件stack
set 关联容器,值类型与键相同,键是唯一的,模板参数二为可选,指定排列比较函数或对象,默认less<>
multiset 可能有多个值的键相同,模板参数一为键类型,二为值类型,三可选同set二。 
map 值与键的类型不同,键是唯一的,每个键只对应一个值
multimap 一个键可以与多个值关联,STL把键和数据用pair<class T,class U>存储到一个对象,要插入,可创建一个pair 然后调用multiset 的insert 。 pair对象可以使用first 和second 访问其两个部分


容器概念
基本容器
1.容器是存储其它对象的对象,被存储的对象必须是同一类型
2.类型必须是可复制构造和可赋值的
3.基本容器不能保证元素按特定的顺序存储,也不能保证元素顺序不变
序列
1.迭代器至少是正向迭代器,保证了元素该特定顺序排列
2.元素按严格的线性顺序排列
序列包括 7 种容器 deque、list、queue、stack、vector、priority_queue、C++11新增的forward_list
关联容器
1.将值与键关联起来
2.底层基于树结构
4种关联容器 set、multiset、mao、multimap
无序关联容器 (C++11)
1.将值与键关联起来
2.底层基于哈希表
4种无序关联容器 unordered_set、unordered_multiset、unordered_map、unordered_multimap


# STL 容器模板都接受一个可选的模板参数,该参数指定使用哪个分配器对象来管理内存,默认使用allocator<T>类,这个类使用new 和 delete
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值