当前位置:首页>综合>正文

求压栈操作注释

2023-06-05 01:10:30 互联网 未知 综合

 求压栈操作注释

求压栈操作注释

Status Push(SqStack &S,ElemType e)
{
if(S.top-S.base>=S.stacksize) //如果栈顶指针减栈底指针大于栈的容量
S.base=(ElemType*)realloc(S.base,(S.stacksize STACKINCEREMENT)*sizeof(ElemType)) //重新为栈底指针开辟空间,长度为(S.stacksize STACKINCEREMENT),并将原来的栈底指针的内容复制给新的栈底指针
if(!S.base)exit(OVERFLOW) //如果栈底指针为空,则以溢出的标志退出
S.top=S.base S.stacksize //算出栈顶指针的位置
S.stack =STACKINCREMENT //这句应该改为S.stacksize =STACKINCREMENT 重新计算新栈的大小
}
*S.top =e //栈顶向后移动一位,将e赋值给栈顶
return OK //返回值
}