栈(Stack)
栈是只允许一端进行插入或删除操作的线性表
栈顶:允许插入和删除的一端
栈底:不允许插入和删除的一端
空栈:最开始栈中不含有任何数据,叫做空栈,此时栈顶就是栈底
如果进栈顺序如下: 出栈顺序就是a5->````->a1
a1->a2->a3->a4->a5
则,a5是栈顶元素,a1是栈底元素
特点是:后进先出
Last In Fist Out (LIFO)
InitStack(&S)
:初始化栈。构造一个空栈S,分配内存空间
DestoryStack(&L)
:销毁栈。销毁并释放栈S所占用的空间
Push(&S,x)
:进栈,若栈S没有满,则将x加入使之称为新的栈顶
Pop(&S,&x)
:出栈,若栈S非空,则弹出栈顶元素,并用x返回
GetTop(S,&x)
:读栈顶元素。若栈S非空,则用x返回栈顶元素
StackEmpty(S)
:判断一个栈是否为空,空则返回true,非空返回false
增删:元素的进栈、出栈,只能在栈顶操作