首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
admin
2017-07-04
66
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
4 6 3 1 8
4 6 3 1 8
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动//“****found****”。
#include
using namespace std;
class IntStack{ //整数栈类
public:
virtual VOid push(int)=0;//入栈
virtual int pop()=0;
//出栈并返回出栈元素
virtual int topElement()const=0;
//返回栈顶元素。但不出栈
virtual bool isEmpty()oonst=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;
return 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<
}
int main(){
SeqStack st1; pushData(stl);pop Data(stl);
cout<
LinkStack st2;pushData(st2);pop Data(st2);
cout<
return 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/2LAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
类time可以输出12小时或24小时制的时间,现需要设计一个缺省构造函数,缺省值为0时0分0秒。该缺省构造函数为【 】。#include<iostream.h>classTime
若需要把一个函数"void Func();"定义为一个类Sample的友元函数,则应在类 Sample的定义中加入一条语句【 】。
有如下程序 main() {int n=9; while(n>6)<n--; cout<<n<<endl;} } 该程序段的辅出结果是
以下选项中不属于软件工程的目标是( )。
数据库设计包括两个方面的设计内容,它们是()。
有如下类声明;classSAMPLE{intn;public:SAMPLE(inti=0):n(i){}voidsetValue(intn0);}
有下列二叉树,对此二叉树中序遍历的结果为()。
C++语言中的基本符号可以分为_______、_________、________三类。
数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和______两个含义。
编制一个好的程序,首先要确保它的正确性和可靠性,还应强调良好的编程风格。在选择标识符的名字时应考虑()。
随机试题
设二元函数z=sin(x—y),则=___________.
(2011年案例分析第83~86题)A公司是一家生产饮料的企业,在市场中颇有知名度。其生产的B款饮料,市场占有率达30%。近年来,另一家公司推出C款饮料,其质量不比B款饮料差,每瓶饮料价格却比B款饮料低一元。在内部研究对策的时候,A公司的市场营销人员提出,
一家美国厂商雇用一艘英国货船运送商品,并从它在英国银行的存款中支付相当于10000美元的费用。这笔交易应该记入美国经常项目的借方和资本项目的贷方。()
我国商业银行可以经营()业务。
X市甲厂因购买Y市乙公司的一批木材与乙公司签订了一份买卖合同,但合同中未约定交货地与付款地,双方就此未达成补充协议,按照合同有关条款或者交易习惯也不能确定。根据合同法律制度的规定,下列关于交货地及付款地的表述中,正确的有()。
臭氧层:气候变暖
情景:你的父亲因交通事故受重伤,为回家探望,特向系主任请假一星期——从本月21日至27日。要求给子准假。并附上哥哥的来信,以资证明。任务:请你用英语写一张50字左右的请假条。请用下面格式:请用第一人称写。ToDepartmentOf
ThekeytotheindustrializationofspaceistheU.S.spaceshuttle.【C1】______it,astronautswillacquireaworkhousevehicle【C
HowtoBeEffectiveReaders?I.IntroductionofreadingandhowtobeeffectivereadersA.IntroductionofreadingAmethodof
A、Tohonoronlyyourfather.B、Tohonorallfathersaroundyou.C、Tohonorfather-likefigures.D、TohonorMrs.Dodd’sfather.C
最新回复
(
0
)