Status GetTop(SqStack S,SElemType &e){
if(s.top==s.base)return ERROR;
e=*(S.top-1);
return OK;
}//GetTop
我是想问为什么是“e=*(S.top-1)”而不是“e=*S.top;S.top=S.top-1”呢?不是先删除后移动Top指针吗?请你说说,谢谢
追答要不你把初始化的init,入栈的push,还有结构体的定义都发上来吧
这个是要相互匹配的
太长了,我发个地址给你吧
http://blog.csdn.net/qqweinizhizhuo/article/details/4055707
程序也差不多的,你看看
注意Push中
*S.top++=e;//top自增
这句话的实际操作顺序是
*S.top=e;
S.top++;
也就是说,S.top其实比最顶端的数据要大1
因此,在getTop时,需要e=*(S.top-1)