04栈
# 栈
**定义**——栈( stack)是限定仅在表尾巴插入和删除操作的线性表
- 允许插入和删除的一段称为**栈顶**(top),另一端称为**栈底**(bottom)
- 不放任何数据元素的栈称为**空栈**
**特点**
- 先进后出
- 后进先出
**注意:**
- 栈又被称为后进先出(Last In First Out)的**线性表**,简称LIFO结构
- 栈的插入操作,称为**进栈**,也称压栈、入栈(push)
- 栈的删除操作,称为**出栈**,也称为弹栈(pop)
**栈的抽象数据结构**

## **栈的链式存储结构——链栈**
**链栈**
- 链栈的结构与链表相似
- 插入与删除操作都是在链表的头部
- 即:链栈是一个以top为头结点、从链顶指向链底的单链表
typedef struct node //栈中的节点
{
char data; //节点数据
struct node *next;//指向下一个结点的指针(链表)
}StackNode;
typedef struct{
StackNode *top;//栈顶指针
int count; //节点个数
}ListStack;
由于搬运的时间成本,更多笔记分享请转至https://blog.csdn.net/weixin_42248871

浙公网安备 33010602011771号