首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 4 6
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 4 6
admin
2019-05-29
57
问题
请使用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()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 dat一[top];)
bool isEmpty()const{return top一一1;
};
struct Node{
int data;
Node*next,
};
class LinkStack:public IntStack{
Node*top;
public:
//*********found**********
LinkStack():——{)//把to]初始化为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 to]一>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 stl;pushData(stl);pop—Data(stl);
cout<
LinkStack st2;pushData(st2);pop—Data(st2);
cout<
return 0;
}
选项
答案
(1)t叩(一1) (2)data[top一一] (3)top(NULL) (4)p一>next=top
解析
本题考查的是IntStack类及其派生类SeqStack类和IJnk.Stack类,其中涉及纯虚函数、数组、构造函数和动态数组。本题对栈的知识要求很高,栈的特点是先进后出,后进先出。
【解题思路】
(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/4B8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 C通过调用友元函数,实现求解n!的算法。sum=5!+4!+3!+2!。
A、 B、 C、 D、 C只有在创建对象时才会调用类的构造函数,在定义指针时不会调用构造函数,只有给指针new一个地址时会调用构造函数,所以本程序中一共生成了6个Point对象(A,B,C,newPoint[
A、 B、 C、 D、 Atest的构造函数重载,testA[3]调用test(intA)函数,然后删除时调用析构函数,故输出选项A。
A、 B、 C、 D、 C派生类在公有派生和保护派生两种方式下,可以访问基类的保护成员。虚基类也可以被实例化,虚函数如果在派生类中不被重新定义,则直接被派生类继承。
A、 B、 C、 D、 C在数据字典编制过程中,常使用定义方式描述数据结构。
A、 B、 C、 D、 C所谓的算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
下列程序的输出结果是______。#include<iostream>#include<cstring>usingnamespacestd;voidfun(constchar*S,char&C){e=
类在面向对象方法中,把具有相同属性和方法的对象称为类,类是对象的抽象,对象是类的实例。
针对数组定义intdata[10];,下列叙述中错误的是A)用*data可访问到数组的首元素B)用data[9]可访问到数组的末元素C)用data[10]访问数组元素会超出数组的边界D)data共有10个元素,其首元素是data[1]
有如下定义:classMA{intvalue;public:MA(intn=0):value(n){}};MA*ta,tb;其中MA类的对象名标识符是_____
随机试题
背景材料国内某制药厂与外商就出口药品的价格问题进行谈判。谈判中我方代表急于求成,并且好表现自己,结果使得外方代表非常反感,一再流露出撤出谈判的意图。问题:打破这种局面的方法有哪些?
关于先天性髋关节脱位的检查,下列哪项3个月以上的婴幼儿不宜采用
患者,男,68岁。慢支并发肺气肿10余年,6天前受凉后出现咳嗽、咳大量黄色脓痰。1小时前患者出现呼吸困难、烦躁不安、剧烈头痛急诊入院。查:浅昏迷,口唇发绀,可闻及痰鸣音,两肺底湿哆音。为明确诊断,应首选的检查是
具有中枢兴奋作用的药物是
A.曲马多B.美沙酮C.胰岛素D.司可巴比妥属于第一类精神药品的是
根据工程咨询业务的特点,工程咨询单位的组织设计应考虑的因素包括()。
超过8层的高层公共建筑,电梯可成组地排列于电梯厅内,一般每组电梯不宜()。
在检验检疫机构签发检验检疫证单后,报检人要求补充内容的,应办理申请手续,填写( ),并出具书面证明材料。
【2017下/2012下】负强化和惩罚在本质上是相同的。
Would-belanguageteacherseverywherehaveonethingincommon:theyallwantsomerecognitionoftheirprofessionalstatusand
最新回复
(
0
)