栈(Stack) 是一种抽象的数据结构,遵循“后进先出”(LIFO, Last In First Out)的原则。这意味着最后被添加到栈中的元素是第一个被移除的元素。栈可以被视为一个垂直的容器,元素从顶部添加和移除。

栈的基本操作:

  1. 压栈(Push):将一个元素添加到栈的顶部。
  2. 弹栈(Pop):移除并返回栈顶部的元素。
  3. 查看栈顶元素(Peek/Top):返回栈顶部的元素,但不移除它。
  4. 检查栈是否为空(IsEmpty):判断栈中是否还有元素。

栈的特点:

  • 后进先出:最后压入栈的元素最先被弹出。
  • 动态大小:栈的大小可以根据需要动态增长(在使用链表实现时)或固定大小(在使用数组实现时)。