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

admin2013-02-27  19

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

选项

答案Stack[--top]或sIack[top-=1] 或stack[top=top-1]

解析 此题考查的是堆栈数据结构。分析题目,首先利用函数voidpush(constT &i)将i压入栈,然后Tpop()将元素弹出,但由于在压入栈的时候,top值已经增加1;要弹出元素,须使top先减1,才能把栈顶元素弹出。
转载请注明原文地址:https://kaotiyun.com/show/RsNp777K
0

最新回复(0)