首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
admin
2017-02-21
29
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程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;
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<<st.pop()<<";
}
int main(){
SeqStack st1;pushData(st1);
popData(st1);
cout<<end1;
LinkStack st2;pushData(st2);
popData(st2);
cout<<end1;
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://www.kaotiyun.com/show/16Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是
为了便于对照检查,测试用例应由输入数据和预期的【】两部分组成。
若有说明语句chara[]="Itismine";char*p="Itismille";则以下不正确的叙述是()。
下列函数的运行结果是()。#include<iostream.h>intf(inta,intb){intc;if(a>b)c=1;elseif(a==b)
下面程序的运行结果是#include"iostream.h"#definesum(a,b)a*bvoidmain(){intx;x=sum(1+2,3);
下列选项中不属于结构化程序设计原则的是
下列语句段中不是死循环的是()。
设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[]中,A[0][0]存入B[0]中,则A[8][5]在B[]中( )位置。
根据注释内容在空白处填写适当内容。classLocation{private:intX,Y;public:voidinit(intinitX,intinitY);intGetX();intGetY
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是
随机试题
小便短赤,溲时热涩刺痛者,治疗应选用
下列哪些货物向海关申报进口时不需交验《入境货物通关单》
某产品实际销售量为8000件,单价为30元,单位变动成本为12元,固定成本总额为36000元。则该产品的安全边际率为()。
个人将不动产无偿赠送他人的行为,视同销售不动产,应当征收营业税。()
甲公司的破产案件中,负债情况如下:职工债权50万元,普通债权220万元,人民法院的诉讼费用30万元,管理人A会计师事务所报酬20万元,管理人聘用B会计师事务所的注册会计师王某协助清理账册支付其报酬3万元,为继续营业而支付的职工工资及社会保险费用40万元。甲
成立于1945年,原名“民主科学社”,以科学技术界高、中级知识分子为主的具有政治联盟特点的、致力于社会主义事业的政党是()。
RentorBuyanApartment?
企业模型应该具有的特征是完整性、【】和持久性。
一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是
shock
最新回复
(
0
)