回 帖 发 新 帖 刷新版面

主题:顺序栈问题???

向一个顺序栈中插入一个元素时,首先使 栈顶元素 后移一个位置,然后把待插入元素存储到这个位置上.....
 我发现很多题都是这种,先移动栈顶元素...为什么和我理解的不一样啊
我用的是严蔚敏的那本数据结构,上面P47有一个插入e为新的栈顶元素的算法..
最后有一句  *s.top++=e
 这个是 先使e的值赋给s.top 然后再++ 啊
而且 P46的图 也是当有一个元素的时候,base是指向这个元素,而top是指向这个元素的下一位呀~~~那么插入的时候不应该是先赋值,然后再移动top吗???
不知道是我理解错误,还是因为其他原因?

回复列表 (共2个回复)

沙发

把你说的先移动元素的算法发出来看看...

能达到栈的效果就可以了...不需要执着于怎么做的..

板凳

其实思想是一样的,这只是具体应用上不同罢了,当空栈时,有的top是指向-1的,即栈底的下一个元素,有的是指向0,即栈底的.严版的就是后者所以 *s.top++=e
.只要使用时注意一下就可以解决了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册