1、栈的定义
栈(stack)是限定仅在表尾进行插入和删除操作的线性表。
通常把允许插入和删除的一端成为栈顶(top),另一端称为栈底(bottom),栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。
2、栈的顺序存储结构及实现
对于栈的插入(进栈),相当于做了如下处理。
对于进栈操作push,其代码如下:
/*插入元素e为新的栈顶元素*/
Status Push(SqStack *S,SElemType e)
{
if(S->top==MAXSIZE-1)
{
return ERROR;
}
S->top++;
S->data[S->top]=e;
return OK;
}
对于出栈操作pop,其代码如下:
/*若栈不空,则删除S的栈顶元素,用e返回,否则返回