设栈的存储空间为S(1:m),初始状态为top=m+1 怎么理解?

如题所述

m+1 。

这个栈是从栈顶向栈底压的,一般平时是从栈底向栈顶压,这道题目中是倒过来的。

若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出);置TOP=TOP+1(栈指针加1,指向进栈地址);S(TOP)=X,结束(X为新进栈的元素)。

若TOP≤0,则给出下溢信息:

作出错处理(退栈前先检查是否已为空栈, 空则下溢);X=S(TOP),(退栈后的元素赋给X):TOP=TOP-1,结束(栈指针减1,指向栈顶)。

定义stack的简单代码:

stack<int> sta。

入栈:sta.push(x)。

出栈:sta.pop()。

判断栈的大小: sta.size()。

判断栈是否为空:sta.empty()。

温馨提示:答案为网友推荐,仅供参考
相似回答