#

定义:栈是限定仅在表位进行插入或删除操作的线性表,遵循"后进先出"原则

注:栈是计算机科学的基石之一,其"后进先出"的特性完美匹配了许多场景

实现方式#

基于数组:使用一个固定大小或动态扩容的数组,并用一个变量(通常叫 top或 size)来跟踪栈顶的位置

基于链表:使用一个链表,通常将链表的头部作为栈顶(push相当于在链表头部插入新节点,pop相当于删除头部节点)

核心操作#

Push(入栈/压栈)

Pop(出栈/弹栈)

Peek/Top(查看栈顶元素)

isEmpty(判空)

isFull(判满)