deque的使用场景:比如排队购票系统,对排队者的存储可以采用deque,支持头端的快速移除,尾端的快速添加。如果采用vector,则头端移除时,会移动大量的数据,速度慢。
vector与deque的比较:
一:vector.at()比deque.at()效率高,比如vector.at(0)是固定的,deque的开始位置却是不固定的。
二:如果有大量释放操作的话,vector花的时间更少,这跟二者的内部实现有关。
三:deque支持头部的快速插入与快速移除,这是deque的优点。
list的使用场景:比如公交车乘客的存储,随时可能有乘客下车,支持频繁的不确实位置元素的移除插入。
set的使用场景:比如对手机游戏的个人得分记录的存储,存储要求从高分到低分的顺序排列。
map的使用场景:比如按ID号存储十万个用户,想要快速要通过ID查找对应的用户。二叉树的查找效率,这时就体现出来了。如果是vector容器,最坏的情况下可能要遍历完整个容器才能找到该用户。
相关文章
- 08-15C:在multiset容器中使用自己的类
- 08-15leetcode_数据结构_链表_445两数相加二(STL库stack栈的使用)
- 08-15关于STL中iota()函数的使用
- 08-15STL之map容器的三种插入方式insert emplace emplace_hint那种效率更高
- 08-15关于STL容器vector与移动构造函数的小坑
- 08-15FGUI在Container容器中的物体使用LocalToGlobal,获取屏幕坐标
- 08-15STL(标准模板库) 中栈(stack)的使用方法
- 08-15详解STL中关于bitset的使用方式
- 08-15QList使用方法及容器的迭代
- 08-15STL bind1st bind2nd bind 的使用