您的位置:首页 > 编程语言 > C语言/C++

c++ primer 读书笔记 第九章 顺序容器有那些 vector list deque stack queue priority-queue

2012-08-31 00:06 411 查看
c++ primer读书笔记 关联容器与顺序容器的差别

本质的区别是:顺序容器是通过元素在容器内的相对位置来顺序存储和访问元素的;

而关联容器则是通过键(key)来存储和读取元素;

顺序容器介绍的有 vector list deque;

其中vector 相当于数组,顺序存储,便于随机访问,但做插入删除操作的话,消耗资源就比较大;

deque则相当于一个双向生长的数组,也便于随机访问,在头尾删除 增加元素的话也不过多消耗资源,但在中间添加删除元素的话跟vector一样,会比较费时费力;

而deque则相当于链表,不便于做随机访问,但便于做插入删除操作;

适配器:

stack     特点是后进先出,栈;

queue     先进先出(FIFO)队列

有优先级管理的队列

根据以上的适配器描述,

stack,需要支持 从尾部删除,从尾部添加元素的操作,可见上面三个 顺序容器类型都可满足;

queue,需要支持

front()

back()

push_back()

pop_front()

可见deque和list满足,而选手vector 由于不支持 pop_front()操作,被淘汰;

priority-queue 则要求有随机访问功能,所以vector和deque满足。

同时在对这些容器做删除 增加元素的时候,需要注意到那些迭代器会失效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: