回 帖 发 新 帖 刷新版面

主题:栈处理,双栈操作的问题,回复有分

type bothstack = record
       vec : aray[1..m0] of elemtype; 
       top1, top2 : integer;
    end; 
其中top1、top2分别为栈1和栈2的栈顶指针,m0为整个存储空间的大小(即所含的存储单元数)。 


当对任一栈进行插入时,若top1=top2-1或top2=top1+1,则表示栈满
当对栈1或栈2进行删除时,若top1=0或top2=m0+1,则表明相应的栈空

告诉我为什么若top1=top2-1或top2=top1+1,则表示栈满,为什么若top1=0或top2=m0+1,则表明相应的栈空?
回复5分,发邮件到fxuyi@126.com告诉我答案50分,谢谢大家,我很忙,所以总是忘掉问了问题,所以请你们发邮件,大家宽恕啊!

回复列表 (共1个回复)

沙发

这个栈的使用如图:
ABCDE___EDCBA
是把两个栈一个从左至右另一个从右至左存放。
如果栈满,则左栈的头指针和右栈的头指针已经挤在一起了。
如果栈空则左指针指向0,右指针指向m0+1

我来回复

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