请将下列栈类Stack补充完整。 class Stack{ private: int pList[100]; //int 数组,用于存放栈的元素 int top;

admin2010-06-06  23

问题 请将下列栈类Stack补充完整。
   class Stack{
   private:
        int pList[100];                 //int 数组,用于存放栈的元素
        int top;                             // 栈顶元素(数组下标)
   public:
        Stack():top(0){}
        void Push(const int &item);     // 新元素item压入栈
        int Pop(void);                  // 将栈顶元素弹出栈
   };
   void Stack::Push(const int &item){
        if(top==99)                          // 如果找满,程序终止
             exit(1);
        top++;                               // 栈顶指针增1
       ______;
   }
   int Stack::Pop(){
        if(top<0)                       // 如果栈空,程序终止
           exit(1);
        return pList[top--];
    }

选项

答案pList[top]=item

解析 此题考查的是堆栈数据结构。堆栈是一种先进后出的队列,每次入栈在栈顶,出栈也在栈顶。当栈顶指针所指位置是最后一个有效数据时,下次出栈直接取出栈顶指针所指数据,然后栈顶指针再减1;入栈时需要将栈顶指针先增1,然后将数据存入栈顶指针所指位置。本题中,从Pop()函数中可以看出,是先取数然后top才会减1,Push()函数应先增1再取数。所以应填入pList[top]=item。
转载请注明原文地址:https://kaotiyun.com/show/iejp777K
0

最新回复(0)