首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 4 6 3 1 8
请打开考生文件夹下的解决方案文件proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 4 6 3 1 8
admin
2020-04-07
56
问题
请打开考生文件夹下的解决方案文件proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
4 6 3 1 8
4 6 3 1 8
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动//“****found****”。
#include<iostream>
using namespace std;
class Intstack{ //整数栈类
public:
virtual void push(int)=0;
//入栈
virtual int pop()=0;
//出栈并返回出栈元素
virtual int topElement ( )const=0;
//返回栈顶元素,但不出栈
virtual bool isEmpty()const=0;
//判断是否栈空
};
class SeqStack:public IntStack{
int data[100]; //存放栈元素的数组
int top; //栈顶元素的下标
public:
//**********found**********
SeqStack():___________{}//把top初始化为一1表示栈空
void push(int:n){data [++top ]=n;}
//**********found**********
int pop(){return______;}
int topElement()const{ return data[top];}
bool isEmpty()const(return top=-1;)
};
struct Node{
int data;
Node * next;
};
class LinkStack:public IntStack{
Node * top;
public:
//********** found **********
LinkStack():_______{)
//把top初始化为NULL表示栈空
void push(int n){
Node * p=new Node;
p—>data=n;
//********** found **********
___________;
top=p;
}
int pop(){
int d=top—>data;;
top=top—>next;
returyl d;
}
int topElement()const{return top一>data;}
bool isEmpty()const{return top==NULL;}
};
void pushData(IntStack &st){
st.push(8);
st.push(1);
st.push(3);
st.push(6);
st.push(4);
}
void popData(IntStack &st){
while(!st.isEmpty())
cout<<st.pop()<<";
}
int main(){
SeqStack st1; pushData(st1);popData(st1);
cout<<endl;
LinkStack st2;pushData(st2);popData(st2);
cout<<endl;
retumR 0;
}
选项
答案
(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://kaotiyun.com/show/Dw8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<iostream>#include<math>usingnamespacestd;classpoint{private:doublex;doub
若有以下程序:#include<iostream>usingnamespacesstd;classA{public:A(){}A(inti)
下列程序的运行结果为【 】。#include<iostream,h>voidmain(){inti;for(i=1;i<6;i++)if(i==3)break:
若下列程序运行时输出结果为1,A,10.12,B,3.5请将程序补充完整。#include<iostream>usingnamespacestd;intmain(){voidt
下列描述中,错误的是()。A)公有继承时基类中的公有成员在派生类中仍是公有成员B)公有继承时基类中的保护成员在派生类中仍是保护成员C)保护继承时基类中的公有成员在派生类中仍是公有成员D)保护继承时基类中的保护成员在派生类中仍是保护成
有如下类定义:classPoint{private:staticinthow_many;};______how_many=0;要初始化Point类的静态成员how_many,在下画线处应填入的内容是
有些运算符既可以作为成员函数重载,也可以作为非成员函数重载。若在一个重载的运算符函数的定义中成功地使用了this指针,说明它是作为【13】重载的
若有定义语句“intx=10;”,则表达式“x
下列类模板的定义中语法格式错误的是
随机试题
已知函数f(x)=-1+在[-1,1]上满足罗尔定理的条件,那么由定理所确定的ξ=________.
A.刨木B.拧龙头C.捡拾珠子D.缝纫E.锤钉腕伸屈作业训练为
检查肝囊肿最简便而实用的方法是
A.骨质疏松B.骨质软化C.骨质破坏D.骨质增生硬化E.骨膜增生
研究者或其指定的代表必须向受试者说明的临床试验的详细情况包括
某村水塘上游有一家集体造纸厂。该厂已经经营近10年。污水一直排入水塘上游的河流。赵立国与余庆华合伙承包村里的水塘养虾。2016年5月,赵立国、余庆华二人向水塘投放虾苗2万尾。投放后赵、余二人精心管理,日夜看护。10天后,二人发现塘内有少量的死虾出现,当即捞
小王总是怀疑自己家的门没有上锁,因此常常要反复检查,它的这种行为属于()。
抗日战争时期,中共在反对国民党顽固派的斗争中,争取中间派和实行“三三制”政权的理论根据是
下面关于嵌入式系统的互连通信接口的叙述中,错误的是()。
A、Readtheoperationalmanual.B、Trythebuttonsonebyone.C、Makethemachinerunslowly.D、Askherinstructorforadvice.A本题
最新回复
(
0
)