2.1 栈

damone小于 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 栈分类

栈的顺序存储:顺序栈

栈的链式存储:链栈