栈的基本概念
栈(Stack)是只允许在一端进行插入或删除操作的线性表【空栈、栈顶:允许插入和删除的一端、栈底:不允许插入和删除的一端】
特点:后进先出【Last In First Out(LIFO)】
栈的基本操作:
InitStack(&S)
:初始化栈,构造一个空栈S,分配内存空间DestroyStack(&L)
:销毁栈,销毁并释放栈S所占用的内存空间Push(&S,x)
:进栈,若栈S未满,则将x加入使之成为新栈顶Pop(&S,&x)
:出栈,若栈S非空,则弹出栈顶元素,并用x返回【删除栈顶元素】GetTop(S,&x)
:读栈顶元素,若栈S非空,则用x返回栈顶元素【不删除栈顶元素,查栈的使用场景中大多只访问栈顶元素】StackEmpty(S)
:判读一个栈S是否为空,若S为空,则返回true,否则返回false