问题 填空题

下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1]中,在下面横线处填上适当语句,完成栈类模板的定义。 template<class T> class Tstack { enum{size=1000}; T stack[size]; int top; public: Tstack():top(0){} void push(const T &i){ if(top<size) stack[top++]=i; } Tpop(){ if(top=0)exit(1);//栈空时终止运行 return______; }

答案

参考答案:stack[-top] 或 stack[top-=1] 或 stack[top=top-1]

解析: 此题考查的是堆栈数据结构。分析题目,首先利用函数void push(const T &i)将i压入栈,然后Tpop()将元素弹出,但由于在压入栈的时候,top值已经增加1;要弹出元素,须使top先减1,才能把栈顶元素弹出。

选择题
单项选择题