首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 4 6
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 4 6
admin
2019-05-29
40
问题
请使用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://kaotiyun.com/show/4B8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B快速排序的基本思想是:从表中选取一个元素(如本题中的33),将表中小于此元素的移到前面,大于此元素的移到后面,结果把线性表分割成两部分(两个子表),此元素插入到其分界线的位置处。然后
A、 B、 C、 D、 C类指针可以指向派生类对象,但是只能访问基类的数据成员和成员函数。f()作为虚函数,在派生类中被重新定义,可以通过基类指针或者引用来访问基类和派生类中的同名函数。
A、 B、 C、 D、 Atest的构造函数重载,testA[3]调用test(intA)函数,然后删除时调用析构函数,故输出选项A。
A、 B、 C、 D、 D重载后的运算符的优先级和结合性都不会改变,运算符重载进行对原有的运算符进行适当的改造,重载的功能与原有的功能相类似,但是不能改变原运算符的操作对象个数。
A、 B、 C、 D、 B耦合性和内聚性是衡量软件的模块独立性的两个定性的标准。其中,内聚性是度量一个模块功能强度的一个相对指标,耦合性则用来度量模块之间的相互联系程度。它们是相互关联的。在程序结构中,各模块
补充完整下面的类定义:constdoublePI=3.14;classCircle{//圆形物体的抽象基类protected:doubler;//半径public:Circ
下列关于栈的叙述中,正确的选项是()。A)在栈中只能删除数据B)在栈中只能插入数据C)栈是先进先出的线性表D)栈是先进后出的线性表
有如下程序:#include<iostream>usingnamespacestd;intmain(){charstr[100],*P;cout<<"pleaseinputastring:
下列叙述中错误的是A)在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持
下列选项中不属于软件生命周期开发阶段任务的是()。
随机试题
超声造影回声强度减低的原因是
尤善治肺胃出血之证的是
下列哪项不是咀嚼效率的影响因素()
药代动力学参数不包括()。
当水泥混凝土碳化深度值极差大于()时,在每一测区分别测量碳化深度值。
从心理学的角度来看,人们平时表现出来的满意、喜爱、厌恶等主观体验属于()。
自我
凡是教学效果好的老师,都会有意或无意识的对学生的学习风格进行认真研究。()
从本质上说,人类文明的进程就是不断脱离动物界的过程,这一过程主要包括人类体质的进化和心性的进化两个方面。从猿到人的体质进化,人类用了上百万年的时间才完成,而人类心性的进化则还要缓慢。当人类跨越石器时代、青铜时代进入铁器时代之后,动物性依然顽强地在人类身上闪
Fluidintelligenceisthetypeofintelligencethathastodowithshort-termmemoryandtheabilitytothinkquickly,logically
最新回复
(
0
)