目录
栈的定义
·栈(stack)是一个特殊的线性表,是限定仅在一端(通常是表尾),进行插入和删除操作的线性表。
·又称为后进先出(Last In First Out)的线性表,简称LIFO结构。
·栈的逻辑结构与线性表相同,仍为一对一的关系。
栈的相关概念
栈顶和栈底:
入栈和出栈:
入栈:插入元素到栈顶(即表尾)的操作。 ”入“ = 压入 = PUSH(X)
出栈:从栈顶(即表尾)删除最后一个元素的操作。 ”出“ = 弹出 = POP(Y)
栈的表示与实现
由于栈本身就是线性表,于是栈也有顺序存储和链式存储两种实现方式。
·栈的顺序存储--顺序栈
·栈的链式存储--链栈
有关顺序栈和链栈的详请,通过上方链接即可查看。
栈的应用
由于栈的操作具有后进先出的固有特性,使得栈成为程序设计中的有用工具。另外,如果问题求解的过程具有"后进先出"的天然特性的话,则求解的算法中也必然需要利用"栈"
·行编译程序 ·函数调用 ·迷宫求解 ·递归调用的实现