阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。 【说明】 以下程序的功能是设计一个栈类stack<T>,并建立一个整数栈。 【程序】 #include < iostream. h > #include < stdli

admin2009-02-15  30

问题 阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。
【说明】
   以下程序的功能是设计一个栈类stack<T>,并建立一个整数栈。
   【程序】
   #include < iostream. h >
   #include < stdlib. h >
   const int Max =20;                       //栈大小
   template < class T >
   class stack{                             //栈元素数组
   T s[Max];                                //栈顶下标
   int top;
   public:
       stack( )
       {
           top =-1;                         //栈顶初始化为-1
       }
       void push( const T &item);           //item入栈
       T pop( );                            //出栈
       int stackempty( ) const;             //判断栈是否为
   };
   template < class T >
   void stack <T >::push(const T &item)
   {
       if(top==(1))
       {
           cout <<"栈满溢出" <<endl;
           exit(1);
       }
       top ++
       s[top] = item;
   }
   template < class T >
   T stack<T> ::pop()
   {
       T temp;
       if(top==(2))
       {
           cout <<"栈为空,不能出栈操作" < < endl;
           exit(1);
       }
       temp =s[top];
       top --;
       return temp;
   }
   template < class T >
   int stack < T >:: stackempty( ) const
   {        return top == -1;
   {
   void main( )
   {
       stack <int> st;
       int a[] ={1,2,3,4,5};
       cout <<"整数栈" <<endl;
       cout <<"入栈序列:" <<endl;
       for(int i=0;i<4;i ++)
       {
           cout <<a <<" ";
             (3);
       }
       cout << endl <<"出栈序列";
       while((4))
       tout<<(5)<<" ";
       cout< < endl;
   }

选项

答案(1)Max-1 (2)-1 (3)st.push(a[i]) (4)!st.stackempty() (5)st.pop()

解析 本题用类模板方式定义一个栈类,其中有两个私有数据成员:s[](存放栈元素)和top(栈顶元素下标),以及3个公有成员函数: push(元素入栈)、Pop(元素出栈)和stackempty(判断栈是否为空)。
   在函数push()中,首先要判断是否栈满。栈的大小为Max,数组的下标从。开始,所以栈满的条件是栈顶元素下标为Max-1,所以(1)空应填入“Max-1”。同样,在函数pop()中,首先要判断是否为空栈,由于栈顶初始化为-1,所以(2)空应填入“-1”。
   在主函数中,先进行入栈操作,所以(3)空应填入“st.push(a )”。然后进行出栈操作,判断栈是否为空,调用对象的函数stackempty(),所以(4)空应填入“!st.stackempty()”。(5)空处调用出栈函数,所以应填入“st.pop()”。
转载请注明原文地址:https://jikaoti.com/ti/zrW7FFFM
0

最新回复(0)