题目
写出以下程序段的输出结果(队列中的元素类型Q Elem Type为char)。
第2题
写出下列程序段的输出结果(栈的元素类型SElemType为char)。
void main()
{
Stack S;
char x,y;
lnitStack(S);
x='c';
y='k';
Push(S,x);
Push(S,'a');
Push(S,y);
Pop(S,x);
Push(S,'t');
Push(S,x);
Pop(S,x);
Push(S,'s');
While(!StackEmpty(S))
{
Pop(S,y);
printf(y);
}
printf(x);
}
第4题
第5题
第6题
第7题
整。请按要求完成下列操作,将程序补充完整。
(1)完成类queue的无参数的构造函数的定义,要求把数据成员bl和el都初始化为0,同时输出queue initialized。请在注释“//**1**”之后添加适当的语句。
(2)完成类queue的成员函数qput(int j)的定义,它的功能是把新的元素加入队列,过程是先依据bl的值判断数组是否已经满了,如果是就输出queue is full,否则bl自加一,并且把参数j的值存入bl指向的数组元素中,请在注释“//**2**”之后添加适当的语句。
(3)完成类queue的成员函数qget()的定义,它的功能是把队列开头的元素提取出队列,并返回该值,过程是先比较el和bl的值判断队列是否已空,如果是就输出queue is empty,否则el自加一,并且把el指向的数组元素返回,请在注释“// **3**”之后添加适当的语句。
程序输出结果如下:
queue initialized
queue initialized
33 11
44 22
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test26_3.cpp清单如下:
include<iostream.h>
class queue
{
int q[100];
int bl,el;
public:
queue();
void qput(int j);
int qget();
};
queue::queue()
{
// **1**
}
void queue::qput(int j)
{
// **2**
{
cout<<"queue is full\n";
return;
}
bl++;
q[bl]=j;
}
int queue::qget()
{
// **3**
{
cout<<"queue is empty\n";
return 0;
}
el++;
return q[el];
}
void main()
{
queue aa,bb;
aa.qput(11);
bb.qput(22);
aa.qput(33);
bb.qput(44);
cout<<aa.qget()<<" "<<aa.qget()<<"\n";
cout<<bb.qget()<<" "<<bb.qget()<<"\n";
}
第10题
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!