下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1]中,在下面画线处填上适当语句,完成栈类模板的定义。 template<class T> class

admin2011-01-19  36

问题 下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1]中,在下面画线处填上适当语句,完成栈类模板的定义。
   template<class T>
   class T stack{
   enunl{size=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--。
转载请注明原文地址:https://jikaoti.com/ti/PNL0FFFM
0

最新回复(0)