栈(stack)是限定仅在表尾(即栈顶)进行插入和删除操作的线性表。对于栈来说,出栈只能将栈顶元素删除。因此,执行一次出栈动作,就会删除掉栈顶元素20。
前言
概念介绍
- 栈(stack)是限定仅在表尾(即栈顶)进行插入和删除操作的线性表
- 栈的2种操作方式
- 插入操作,叫做进栈,也叫压栈、入栈
- 删除操作,叫做出栈,也叫弹栈
- 栈的2种存储方式
- 顺序存储
- 链式存储
原理讲解
当栈中只有9和12这2个元素时,效果如下图
进栈操作
我们插入一个元素20,效果如下图
出栈操作
对于栈来说,出栈只能将栈顶元素删除。因此,执行一次出栈动作,就会删除掉栈顶元素20,效果如下图
至此,栈的实现原理讲解完毕
栈的优缺点
优点
- 快速访问
- 自动管理,不需要程序员管理
- 空间被CPU高效管理,内存不会变成碎片
缺点
- 只有局部变量
- 受限于栈的大小(取决于操作系统)
- 变量不能调整大小
栈的作用
- 保存程序运行现场/上下文
- 递归操作
- 保存临时变量
效果展示
©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经