栈和队列的相同点:

  1. 都是线性结构,即数据元素之间具有“一对一”的逻辑关系
  2. 都可以在顺序存储结构和链式存储结构上进行实现
  3. 在时间代价上,插入和删除操作都需常数时间;在空间代价上,情况相同
  4. 多链栈和多链队列的管理模式可以相同

栈和队列的不同点:

  1. 删除数据元素操作的位置不同。对于栈而言,其在一端插入数据元素,同时在该端删除数据元素,对于队列而言,其在一端插入数据元素,在另一端删除数据元素。
  2. 两者的应用场景不同。具有后进先出(或先进后出)特性的应用需求,可以使用栈来进行管理。对于具有先进先出(或后进后出)特性的应用需求,可以使用队列进行管理
  3. 顺序栈可以实现多栈空间共享,而顺序队列则不同。在实际应用中,经常会出现在一个程序中需要同时使用两个栈或队列的情况。若采用顺序存储,就可以使用一个足够大的数组空间来存储多个栈,即让多个栈共享同一存储空间。如图:

    其为两个栈共享空间的示意图。其中,把数组的两端设置为两栈各自的栈底,两栈的栈顶从两端开始向中间延伸,可以充分利用顺序栈单向延伸的特性,使两个栈的空间形成互补,从而提高存储空间的利用率。然而,对于顺序队列,就不能像顺序栈那样在同一个数组中存储两个队列,除非总有数据元素从一个队列转入另一个队列。

回到目录|·(工)·)

最新文章

  1. 操作DOM
  2. tp5 中 model 的删除方法
  3. jquery ajax提交表单数据的两种方式
  4. Codeforces Round #258 (Div. 2)[ABCD]
  5. 基础总结篇之二:Activity的四种launchMode
  6. [HeadFirst-JSPServlet学习笔记][第三章:实战MVC]
  7. 在mysql 中两种锁定问题
  8. vbs鼠标方法——模拟鼠标按键
  9. Linux常用操作命令(二)
  10. 初识JavaScript(一)
  11. vue2.x 下载后台传过来的流文件(excel)后乱码问题
  12. PyCharm 新建文件时默认添加作者时间等
  13. [蓝桥] 算法训练 K好数
  14. 跳过用例skip
  15. 多个div中的label标签对齐
  16. BZOJ 4569 [Scoi2016]萌萌哒 | ST表 并查集
  17. Pycharm 2017.1 激活服务器
  18. linux strace 命令详解
  19. Skynet服务器框架(十) CentOS 防火墙设置
  20. mysql中binlog_format的三种模式

热门文章

  1. [JS] 四角度旋转特效
  2. [ActionScript 3.0] as3启动QQ
  3. Jmeter之线程组详解
  4. Java多线程——对象组合
  5. day1: python3.5学习
  6. Markdown基本语法总结
  7. Add:四则运算
  8. Q143 重排链表
  9. Cisco ISR4400 Netflow 配置模板
  10. 工具软件推荐——GifCam