大侠 还有个问题想请教下 就是关于 堆栈的栈顶指针top的指向问题 两种不同的指向模式

一个是栈顶指针top指向当前数组下标最大的元素+1
即指向stack[MAXSIZE];虽然stack[MAXSIZE]不存在;

二是栈顶指针top指向当前数组下标最大元素
栈顶指针top指向stack[MAXSIZE-1];
在第二种模式里面
如果我想创建删除函数
int delete(seqstack *s,int *x)
{ //首先我判断栈是否为空
if(s->top==??) <------就是判断是否为空的这一步该怎么写呢?(在不调用判断非空否函数的情况下)或者说除了调用判断非空否函数的情况下还有别的方法吗?
这种模式下当s->top==0时
也就是存放栈的数组还有一个数组元素s->stack[s->top], 栈不为空
不知道第一步判断非空否的 if语句该怎么写,大侠可以给点建议吗?
不甚感激!

}

如果采用第二种模式,保证在每次进栈top都+1,每次出栈top都-1的话,那么栈空的时候,top应该为-1
所以判断就是 if (s -> top == -1)来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答