1.deque

deque双端队列容器与vector一样,采用线性表顺序存储结构,但与vector唯一不同的是,deque采用分块的线性存储结构来存储数据,每块的大小一般为512字节,称为一个deque块,所有的deque使用一个map块进行管理,每个map数据项记录各个deque块的首地址,这样一来,deque块在头部和尾部都可以插入和删除元素,而不需要移动其它元素,在尾部插入元素使用push_back(),在头部插入使用push_front(),在中间插入使用insert(),但是在中间插入只是覆盖原来位置的元素,并不会新增加元素。

而删除元素同样分为头,尾,中,删除头部元素用pop_front(),删除尾部元素用pop_back(),而删除中间的元素就用erase().

2.list

list容器实现了双向链表的数据结构,数据元素是通过链表指针串连成逻辑意义上的线性表,这样,对链表的任意位置进行插入,删除和查找都是极快速的。

同样的,往链表的容器中插入元素跟deque一样,也是使用push_back,push_front,insert();

而remove()是删除链表中的一个元素,值相同的都会被删除,pop_front删除头元素,pop_back()删除尾元素,erase()是删除迭代器位置上的元素。

另外,list还有sort()排序函数,还有unique()方法,可以剔除连续重复元素,只保留一个。

3.stack堆栈容器

这个没有什么好说的,操作主要有:push(),empty(),top()(读取栈顶元素),pop()

4.queue队列容器

也没有什么说的。

5.priority_queue优先队列容器

priority_queue优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素,但是它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队,这点类似于给队列里的元素进行了由大到小的顺序排序,默认规则是从小到大,当然,可以重载"<"来重新定义规则。

deque,list,queue,priority_queue相关推荐

  1. [C++](13)stack queue priority_queue 模拟实现:容器适配器,deque介绍,仿函数详解

    文章目录 使用 stack 栈 queue 队列 priority_queue 优先级队列 什么是容器适配器? deque 容器简单介绍 模拟实现 stack queue priority_queue ...

  2. 模拟stack/queue/priority_queue

    stack要点 1.stack遵从先进后出的规则,即先进栈的元素后出栈,入栈/出栈只能在栈的一端进行 2.stack是作为容器适配器被实现的,容器适配器是对特定类进行封装,作为其底层的容器 3.sta ...

  3. Deque与Queue方法总结

    java的Deque与Queue 1.Queue接口(单向队列) Queue接口,是集合框架Collection的子接口,是一种常见的数据结构,遵循先进先出的原则. 是基于链表来进行实现,的单向队列. ...

  4. deque与queue区别

    java中 Deque和Queue deque就是双端队列 queue就是队列,Deque接口实际上扩展自Queue: deque可以做栈也可以做队列 做栈的时候先进后出 push poll 做队列的 ...

  5. stl的set,multiset, map, multimap, deque, list, stack, queue, priority_queue

    set实际上是平衡二叉树,需要声明头文件#include<set> Insert:将元素插入集合中 使用前向迭代器对集合中序遍历 使用反向迭代器reverse_iterator可以反向遍历 ...

  6. C++ Stack Queue priority_queue

    栈stack:stack 后入先出(LIFO) q.top() 获取栈顶元素(并不删除) q.pop() 删除栈顶元素 q.push(x) 向栈中加入元素 q.empty() 判断栈是否为空 队列qu ...

  7. STL queue priority_queue

    queue 队列 queue 队列 就像排队一样,后来的排在后面,先来的先出队.所以只能对队首和队尾的元素进行操作 back() 返回最后一个元素 empty() 如果队列空则返回真 front() ...

  8. STL常用函数总结-queue+priority_queue

    队列也是STL里面常用的一个容器,名字十分形象,所谓队列,就是排队,早来早走,队列的特点就是这样,先入先出 头文件:#include< queue > 初始化: queue< 存储元 ...

  9. 关于Deque,Queue的小tips

    Queue Queue是单入单出的队列. 1.构造一个Queue: Queue<String> queue = new LinkedList<String>(); 2.添加元素 ...

最新文章

  1. 简单工厂模式_计算器实现
  2. SO_SNDTIMEO和SO_RCVTIMEO
  3. mysql主从复制优化_MySql优化之主从复制
  4. 一个毕业生对大学爱情和奋斗的思考!
  5. 在.NET单元测试中使用嵌入式资源
  6. CPU制造工艺完整过程(图文)
  7. android gsm功能,Android手机-GSM网络与WCDMA网络选择的设置
  8. NLPCC历年投稿及接收率
  9. web前端的css示例
  10. PAC原理及其算法实现
  11. 01-学习笔记(webstorm自定义模板代码)【新手上路,多多关照】
  12. 2021年12月汽车行业微信视频号企业认证排行榜:新上榜的房车GO排名第五,平均点赞、转发、评论数均是最高(附月榜TOP20详单)
  13. springboot集合MySQL删除_SpringBoot集成Spring JdbcTemplate并完成增删改查操作
  14. 创建文本文档并写入内容
  15. 《我也能做CTO之程序员职业规划》之十五: 智商
  16. 高质量的年会怎么策划
  17. import java.awt 无法_java awt教程import java.awt.*
  18. 《开课》---创业学习--训练营直播第一课--HHR
  19. 明基扫描仪二次开发包
  20. cytoscape.js进阶篇

热门文章

  1. Lambda表达式练习2【应用】
  2. SpringMVC的请求-获得请求参数-获得请求头信息
  3. SpringMVC的请求-获得请求参数-Restful风格的参数的获取
  4. 类加载器的概述和分类
  5. Hive的基本操作-自定义函数
  6. File类判断功能的方法
  7. 消息队列入门案例-编码
  8. ActiveMQ专题
  9. php短信接口加密_PHP短信接口、PHP短信验证码接口源码
  10. matlabk大于等于0如何表示_【底层原理】浮点数在计算机中是如何表示