栈(Stack) 是一种抽象的数据结构,遵循“后进先出”(LIFO, Last In First Out)的原则。这意味着最后被添加到栈中的元素是第一个被移除的元素。栈可以被视为一个垂直的容器,元素从顶部添加和移除。
栈的基本操作:
- 压栈(Push):将一个元素添加到栈的顶部。
- 弹栈(Pop):移除并返回栈顶部的元素。
- 查看栈顶元素(Peek/Top):返回栈顶部的元素,但不移除它。
- 检查栈是否为空(IsEmpty):判断栈中是否还有元素。
栈的特点:
- 后进先出:最后压入栈的元素最先被弹出。
- 动态大小:栈的大小可以根据需要动态增长(在使用链表实现时)或固定大小(在使用数组实现时)。