|
|
|
|
移动端

3.6.1 栈模型

《数据结构与算法分析:Java语言描述(原书第3版)》第3章表、栈和队列,本章讨论最简单和最基本的三种数据结构。实际上, 每一个有意义的程序都将显式地至少使用一种这样的数据结构, 而栈则在程序中总是要被间接地用到, 不管我们在程序中是否做了声明。本节为大家介绍栈模型。

作者:冯舜玺/陈越 译来源:机械工业出版社|2016-04-13 17:42

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


3.6 栈ADT

3.6.1 栈模型

栈(stack)是限制插入和删除只能在一个位置上进行的表, 该位置是表的末端, 叫作栈的顶(top)。对栈的基本操作有push(进栈)和pop(出栈), 前者相当于插入, 后者则是删除最后插入的元素。最后插入的元素可以通过使用top例程在执行pop之前进行考查。对空栈进行的pop或top一般被认为是栈ADT中的一个错误。另一方面, 当运行push时空间用尽是一个实现限制, 但不是ADT错误。

栈有时又叫作LIFO(后进先出)表。在图3-33中描述的模型只象征着push是输入操作而pop和top是输出操作。普通的清空栈的操作和判断是否空栈的测试都是栈的操作指令系统的一部分, 但是, 我们对栈所能够做的, 基本上也就是push和pop操作。

图3-34表示在进行若干操作后的一个抽象的栈。一般的模型是, 存在某个元素位于栈顶, 而该元素是唯一的可见元素。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

精通ASP+XML+CSS网络开发混合编程

《精通ASP+XML+CSS网络开发混合编程》介绍当前网络开发的主流平台与技术之一的ASP+CSS+XML的知识与应用,全书各知识点均配以实例,按照基础...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊