栈的顺序存储结构
与顺序线性表类似,栈是一种特殊的顺序表。其最大的特点就是:先进后出,后进先出。
栈结构包括三个成员,栈顶(top)、栈底(base)和栈分配的空间(stacksize)。栈只允许在栈顶(top)的位置插入和删除元素。
- 栈的初始化:
将开辟的一段连续内存空间首地址赋给base指针,并让top指针也指向初始位置。
- 出栈入栈
每当插入(Push)一个元素入栈后,将top指针后移一位。因此,top始终指向栈顶元素位置的下一位。同理,删除元素(Pop)时,要先将top的位置减小一位,再出栈。
//栈结构定义
typedef struct SqStack
{
ElemType *base;
ElemType