2.1 栈
小于 1 分钟
2.1 栈
2.1.1 栈的定义
栈
是线性表结构的一种,但是栈结构的插入与删除操作都只能从同一端进行,所以栈结构是一种受限制的线性表结构,数据的插入与删除符合LIFO的原则(也就是后进先出
,先进后出
)。
2.1.2 栈的基本操作
注
:参数代“&”表示:方法运行完后,对参数修改的结果要“带回来”
对数据的操作:创销,增删查改
InitStack(&S); //初始化表:构造一个空的栈S,分配内存空间
DestoryStack(&S); //销毁操作:销毁栈,并释放栈S所占用的内存空间
Push(&S,x); //进栈,若栈S未满,则将x加入使之成为新栈
Pop(&S,&x); //出栈,若栈S非空,则弹出栈顶元素,并用x返回
GetTop(S,&x); //读栈顶元素,若栈S非空,则将x返回栈顶元素
//其它常用操作
StackEmpty(S); //判空操作
2.1.3 存储结构
顺序存储
和链式存储
2.1.4 栈分类
栈的顺序存储:顺序栈
栈的链式存储:链栈