顺序栈的定义
顺序栈栈和线性表很类似,可以认为栈是一种特殊的线性表,只是插入和删除只能允许在其一端进行,把允许操作的一端称为栈顶(Top),不可操作的一端称为栈底(Bottom),同时把插入元素的操作称为入栈(Push),删除元素的操作称为出栈(Pop)。若栈中没有任何元素,则称为空栈。
栈插入的元素将第一个被删除,栈也称为后进先出(Last In First Out,LIFO)或先进后出(First In Last Out FILO)的线性表。
栈的操作
- peek(未删除只获取值)
- push(入栈,更新栈顶Top指向)
- Pop(出栈,删除并获取值,更新栈顶Top指向)
链式栈
空栈
非空栈
栈顶插入
栈顶删除
链式栈插入和删除依然只能在栈顶操作。
栈的应用
- 符号匹配
- HTML和XML文件中的标签匹配