万能百科  > 所属分类  > 

●试题七 阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 以下程序

●试题七

阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

以下程序的功能是设计一个栈类stack<T>,并建立一个整数栈。

【程序】

#include<iostream.h>

#include<stdli

B.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[i]<<" ";

(3) ;

}

cout<<endl<<"出栈序列:";

while( (4) )

cout<< (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,数组的下标从0开始,所以栈满的条件是栈顶元素下标为Max-1,所以(1)空应填入"Max-1"。同样

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签