栈的顺序存储结构---进栈操作
/*插入元素e为新的栈顶元素*/
StatusPush(SqStack *S, SElemType e)
{
if(S->top == MAXSIZE -1) /栈满**/
{
return ERROR;
}
s->top++; /*栈顶指针增加一*/
s->data[s->top] = e; /*将新插入元素赋值给栈顶空间*/
return OK;
}
栈的顺序存储结构---出栈操作
出栈操作pop,代码如下:
/*若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK; 否则返回ERROR*/
StatusPop(SqStack *S, SElemType *e)
{
if(s->top == -1)
return ERROR;
*e = s->data[s->top]; /*将要删除的栈顶元素赋值给e*/
s->top--; /*栈顶指针减一*return OK;
}