0%

数据结构系列之栈(Java)

leetcode栈专题

顺序栈的定义

顺序栈栈和线性表很类似,可以认为栈是一种特殊的线性表,只是插入和删除只能允许在其一端进行,把允许操作的一端称为栈顶(Top),不可操作的一端称为栈底(Bottom),同时把插入元素的操作称为入栈(Push),删除元素的操作称为出栈(Pop)。若栈中没有任何元素,则称为空栈。

栈插入的元素将第一个被删除,栈也称为后进先出(Last In First Out,LIFO)或先进后出(First In Last Out FILO)的线性表。

栈的操作

  • peek(未删除只获取值)
  • push(入栈,更新栈顶Top指向)
  • Pop(出栈,删除并获取值,更新栈顶Top指向)

链式栈

空栈

非空栈

栈顶插入

栈顶删除

链式栈插入和删除依然只能在栈顶操作。

栈的应用

  • 符号匹配
  • HTML和XML文件中的标签匹配