问题 填空题

下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1]中,在下面画线处填上适当语句,完成栈类模板的定义。
template<class T>
class T stack
enunlsize=1000;
T stack[size];
in[top;
public:
T stack( ):top(0)
void push(cons[T &i)
if(top<size)stack[top++]=i;

T pop( )
if(top==0)exit(1); //栈空时终止运行
return______;

答案

参考答案:stack(--top);

解析: POP( )操作中,当栈中含有元素时则弹出栈顶元素,所以应该返回栈顶元素stack(--top),由于top指针始终指向的是栈顶元素的上一单元,所以出栈时应该是先将top下移,然后出栈,故应该是--top而不是top--。

单项选择题
单项选择题