栈的定义
栈是一种特殊的线性表,定义如下:
栈(stack)是限定仅在表尾进行插入和删除操作的线性表。
把允许插入的一端叫栈顶(top),另一端叫栈底(bottom),不含任务数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。
栈的插入操作叫做进栈,也称压栈、入栈。
栈的删除操作,叫做出栈。
栈的应用
1. 递归
在前行阶段,对于每一层递归,方法的局部变量、参数值以及返回值都被压入栈中(栈的插入操作),在返回阶段,位于栈顶的局部变量、参数值、返回值会优先出栈(栈的删除操作),用于返回调用层次中执行代码的其余部分,也就是恢复了调用的状态。
![](https://img.haomeiwen.com/i14753326/ae8ce808cc6b7d84.jpg)
网友评论