栈的定义: 栈是一种只能在一端进行插入或删除操作的线性表。
原则: 后进先出。
小女孩想要数字为“2”的小球,男孩只能先把数字为“3”和“1”的小球拿出来,才能拿到小女孩想要的小球。
栈的特有操作:
顺序栈4要素: 以MaxSize=5的栈为例
- 栈空条件: top=-1
- 栈满条件: top=MaxSize-1
- 进栈e操作:top++; 将e放在top处
- 退栈操作: 从top处取出元素e; top–;
初始化栈initStack(&s)
- 建立一个新的空栈s,实际上是将栈顶指针指向-1即可
void InitStack( SqStack *&s )
{
s = (SqStack *)malloc(sizeof