首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 4 6 3 1 8 4 6 3 1
请打开考生文件夹下的解决方案文件proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 4 6 3 1 8 4 6 3 1
admin
2018-07-06
60
问题
请打开考生文件夹下的解决方案文件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;
//返回栈顶元素,但不出栈
virtualbool~sEmpty( )const=0;
//判断是否栈空
};
class SeqStack:public TntStack{
intdata[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:
return d;
}
int topElement( )const{return top->data;}
bool isEmpty( )const{returntop==NULL;}
};
void pushData(IntStack&st){
st.push(8);
st.push(1);
st.push(3);
st.push(6);
st.push(4);
}
void popData(IntStackst){
while(!st.isEmpty( ))
cout<<st.pop( )<<’ ’;
}
int main( ){
SeqStack Stl;pushData(St1);popData(st1);
cout<<endl;
LinkStack st2;pushData(st2);popData(st2);
cout<<endl:
return0;
}
选项
答案
(1)top(-1) (2)datal[top--] (3)top(NULL) (4)p->next=top
解析
(1)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为-1表示栈空,即要把top赋值为-1即可。
(2)主要考查考生对纯虚函数的掌握情况,先看纯虚函数在基类的注释:出栈并返回出栈元素。要返回栈顶元素可以通过ciata[top]得到,出栈同时要使top得往下移动,即top--。
(3)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为NULL表示栈空,因此使用成员列表初始化直接把top赋值为NULL即可。
(4)主要考查考生对栈的掌握,push为入栈函数,top指向栈顶元素,因此新添加的指针的next要指向top,即p->next=top;。
转载请注明原文地址:https://www.kaotiyun.com/show/tAAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
与成员访问表达式p->name等价的表达式是______。
友元类的所有成员函数都是另一个类的______。
请将下列类定义补充完整。classBase{public:voidfun(){tout<<"Base::fun"<<endl;}};classDerived:publicBase{public:voidfun(
有如下定义语句:inta[]={1,2,3,4,5);,则对语句int*p=a;正确的描述是()。
在下面叙述中,不正确的是()。
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
“年龄在18~25之间”这种约束是属于数据库当中的
一个模块直接调用的其他模块个数称为______。
下列叙述中,错误的是
数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中的数据,处理用户对数据库的访问,这组软件称为______。
随机试题
简要说明商标与商品名称的区别。
更年期症状明显,并伴膀胱炎可选用青春期功血可选用
【2012年真题】某产品目标总成本为1000元,各功能区现实成本及功能重要性系数见下表,则应降低成本的功能区有()。
铝合金门窗安装中,五金配件与门窗连接应采用()。
2013年5月5日,甲公司因中标一项桥梁工程向乙公司订制一批特种水泥预制构件。双方在合同中约定:图纸和钢筋由甲公司提供;水泥由乙公司提供;加工费为150万元,甲公司预付50万元;交货日期为2013年9月1日;交付地点为甲公司的工地。合同签订后,甲公司签发了
假设某银行今年的净利润为5000万元。资产总额为500000~。负债总额450000万元,则该银行资本利润率为()。
提出“智商”概念的是()
Picture-takingisatechniquebothforreflectingtheobjectiveworldandforexpressingthesingularself.Photographsdepicto
ThechangesingloballyaveragedtemperaturethathaveoccurredattheEarth’ssurfaceoverthepastcenturyaresimilarinsize
社会科学正变得日益繁荣。【T1】截自2005年,几乎有近50万来自世界各个领域的专业社会科学家在学术界内外工作。《世界社会科学报告2010》指出,从2000年开始,全球的社会科学学生大约以每年11%的速度增长。然而,【T2】这一巨大的资源尚不足以应对当今
最新回复
(
0
)