数据结构-栈

栈的定义

栈是一种特殊的线性表,定义如下:

栈(stack)是限定仅在表尾进行插入和删除操作的线性表。

把允许插入的一端叫栈顶(top),另一端叫栈底(bottom),不含任务数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。

栈的插入操作叫做进栈,也称压栈、入栈。

栈的删除操作,叫做出栈。

栈的应用

1. 递归

在前行阶段,对于每一层递归,方法的局部变量、参数值以及返回值都被压入栈中(栈的插入操作),在返回阶段,位于栈顶的局部变量、参数值、返回值会优先出栈(栈的删除操作),用于返回调用层次中执行代码的其余部分,也就是恢复了调用的状态。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 定义 栈(stack):是限定仅在表尾进行插入和删除操作的线性表。 我们允许插入和删除的一端称为栈顶(top),另...
    JsCoderr阅读 5,493评论 0 0
  • 栈是限定仅在表尾进行插入和删除操作的线性表。表尾端称为栈顶,表头端称为栈底。不含元素的空表称为空栈。栈是后进先出的...
    yinxmm阅读 5,840评论 0 0
  • 栈结构 栈也是一种非常常见的数据结构, 并且在程序中的应用非常广泛. 一. 认识栈结构 我们先来简单认识一下栈结构...
    小码哥教育520it阅读 5,906评论 0 1
  • 利用闲碎的时间写一篇文章,关于梦想和现实的一些事。 梦想,我能娶你吗? 现实,我们能分手吗? 我们每个人心中都有梦...
    桑老四成长日记阅读 2,967评论 0 0
  • 失物招领处有把剑 把那个剑送给那个刻舟的人吧!我们都是刻舟人。 瑜哥儿晚上十点打电话给我,问她是不是做错了什么。惹...
    e4b685b8fdc5阅读 1,535评论 0 0

友情链接更多精彩内容