首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
admin
2021-06-10
61
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
4 6 3 1 8
4 6 3 1 8
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动//“****found****”。
1 #include
2 using namespace std;
3 class IntStack{//整数栈类
4 public:
5 virtual void push(int)=0;//入栈
6 virtual int pop()=0;
7 //出栈并返回出栈元素
8 virtual int topElement()const=0 ;
9 //返回栈顶元素,但不出栈
10 virtual bool isEmpty()const=0;
11 //判断是否栈空
12 };,
13 class SeqStack:public IntStack{
14 int data[100]; //存放栈元素的数组
15 int top; //栈顶元素的下标
16 public:
17 //**********found**********
18 SeqStack():______{}//把top初始化为-1表示栈空
19 void push(int n){data[++top]=
20 n;}
21 //**********found**********
22 int pop(){return_______;}
23 int topElement()const{return data[top];}
24 bool isEmpty()const{return top=-1;}
25 };
26 struct Node{
27 int data;
28 Node*next;
29 };
30 class LinkStack:public IntStack{
31 Node*top;
32 public:
33 //**********found**********
34 LinkStack():_____{}//把top初始化为NULL表示栈空
35 void push(int n){
36 Node*p=new Node;
37 p->data=n;
38 //**********found**********
39 ______;
40 top=p;
41 }
42 int pop(){
43 int d=top->data;;
44 top=top->next;
45 return d;
46 }
47 int topElement()const{return top->data;}
48 bool isEmpty()const{return top==NULL;}
49 };
50 void pushData(IntStack&st){
51 st.push(8);
52 st.push(1);
53 st.push(3);
54 st.push(6);
55 st.push(4);
56 }
57 void popData(IntStack&st){
58 while(!st.isEmpty()}
59 cout<
60 }
61 int main(){
62 SeqStack st1;pushData(st1);pop-Data(st1);
63 cout<
64 LinkStack st2;pushData(st2);pop-Data(St2);
65 cout<
66 return 0;
67 }
选项
答案
(1)top(-1) (2)data[top-] (3)top(NULL) (4)p->next=top
解析
(1)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为-1表示栈空,即要把top赋值为-1即可。
(2)主要考查考生对纯虚函数的掌握情况,先看纯虚函数在基类的注释:出栈并返回出栈元素。要返回栈顶元素可以通过data[top]得到,出栈同时要使得top往下移动,即top--。
(3)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为NULL表示栈空,因此使用成员列表初始化直接把top赋值为NULL即可。
(4)主要考查考生对栈的掌握,push为人栈函数,top指向栈顶元素,因此新添加的指针的next要指向top,即p->next=top;。
转载请注明原文地址:https://www.kaotiyun.com/show/Srfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classPoint{intxx,yy;public:Point():xx(0),yy(0){}Point(intx,inty=0):xx(x),yy(y){}};
有如下程序:#includeusingnamespacestd;classBook{public:Book(char*t=’’’’){strcpy(title,t);}private:
下列有关指针的用法中,错误的是()。
某二叉树中共有935个结点,其中叶子结点有435个,则该二叉树中度为2的结点个数为
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str,charc,char*str2)的功能是:如果str中包含字符“!”,则替换成’a’;
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数num(char*str)实现返回字符串中非数字的个数。例如:abc123abc45返回输出:6将函数num()补充完整。注意:请
将E―R图转换为关系模式时,实体和联系都可以表示为()。
数据库管理系统是()。
在下列原型所示的C++函数中,按"传值"方式传递参数的是()。
在下列原型所示的C++函数中,按“传值”方式传递参数的是()。
随机试题
下列行为中属于有效行为的是:()
关于重型胎盘早剥,以下正确的是
正常人动脉血液pH的参考范围是
A.0~10mm/小时B.1~15mm/小时C.0~20mm/小时D.5~20mm/小时E.0~25mm/小时
运动感觉阻滞分离现象最明显的局麻药是
下列关于梁中钢筋的保护层厚度的说法,正确的是()。
下列业务中应该编制收款凭证的是()。
信用证支付方式,属于商业银行信用,所使用的汇票也是银行汇票。()
下列选项中,会导致进程从执行态变为就绪态的事件是
求下列极限:
最新回复
(
0
)