栈#
定义:栈是限定仅在表位进行插入或删除操作的线性表,遵循"后进先出"原则
注:栈是计算机科学的基石之一,其"后进先出"的特性完美匹配了许多场景
实现方式#
基于数组:使用一个固定大小或动态扩容的数组,并用一个变量(通常叫 top或 size)来跟踪栈顶的位置
基于链表:使用一个链表,通常将链表的头部作为栈顶(push相当于在链表头部插入新节点,pop相当于删除头部节点)
核心操作#
Push(入栈/压栈)
Pop(出栈/弹栈)
Peek/Top(查看栈顶元素)
isEmpty(判空)
isFull(判满)