什么是栈

  • 栈是一种特殊的线性表,只能在一端进行操作
    • 往栈中添加元素的操作,一般叫push,入栈
    • 从栈中移除元素的操作,一般叫pop,出栈(只能移出栈顶元素)
    • 先进后出的原则,Fist in Last out

image.png

栈的接口设计

  • int size();// 元素的数量
  • boolean isEmpty();//是否是空
  • void push(E element);//入栈
  • E pop();//出栈
  • E top();//查看栈顶元素
  • void clear();//清空元素

栈的实现可以使用动态数组和链表。
**

栈的应用

浏览器的前进后退

image.png

java.util.Stack

  1. public
  2. class Stack<E> extends Vector<E> {}