内容简介:当栈中只有9和12这2个元素时,效果如下图我们插入一个元素20,效果如下图对于栈来说,出栈只能将栈顶元素删除。因此,执行一次出栈动作,就会删除掉栈顶元素20,效果如下图
前言
概念介绍
- 栈(stack)是限定仅在表尾(即栈顶)进行插入和删除操作的线性表
- 栈的2种操作方式
- 插入操作,叫做进栈,也叫压栈、入栈
- 删除操作,叫做出栈,也叫弹栈
- 栈的2种存储方式
- 顺序存储
- 链式存储
原理讲解
当栈中只有9和12这2个元素时,效果如下图
进栈操作
我们插入一个元素20,效果如下图
出栈操作
对于栈来说,出栈只能将栈顶元素删除。因此,执行一次出栈动作,就会删除掉栈顶元素20,效果如下图
至此,栈的实现原理讲解完毕
栈的优缺点
优点
- 快速访问
- 自动管理,不需要 程序员 管理
- 空间被CPU高效管理,内存不会变成碎片
缺点
- 只有局部变量
- 受限于栈的大小(取决于操作系统)
- 变量不能调整大小
栈的作用
- 保存程序运行现场/上下文
- 递归操作
- 保存临时变量
效果展示
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web开发敏捷之道
Sam Ruby、Dave Thomas、David Heineme Hansson / 慕尼黑Isar工作组、骆古道 / 机械工业出版社 / 2012-3-15 / 59.00元
本书第1版曾荣获Jolt大奖“最佳技术图书”奖。在前3版的内容架构基础上,第4版增加了关于Rails中新特性和最佳实践的内容。本书从逐步创建一个真正的应用程序开始,然后介绍Rails的内置功能。全书分为3部分,第一部分介绍Rails的安装、应用程序验证、Rails框架的体系结构,以及Ruby语言的知识;第二部分用迭代方式创建应用程序,然后依据敏捷开发模式搭建测试案例,最终用Capistrano完成......一起来看看 《Web开发敏捷之道》 这本书的介绍吧!