首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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
75
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
有下列程序:#include<iostream>usingnamespacestd;classTestClass{protected:TestClass(){cout<<’x’;}
通过使用new和delete两个运算符进行的分配为______存储分配。
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是______。#include<iostream>usingnamespacestd;c
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于______的联系。
以下关于友元函数的叙述不正确的是()。
用树型结构表示实体之间联系的模型是()。
函数inttest(inta,intb=1,intc=0),下列调用不合法的个数是test(0);test(0,0);test();test(0,0,0);
某二叉树共有60个叶子结点与50个度为1的结点,则该二叉树中的总结点数为()。
下列字符串中,正确的C++标识符是()。
随机试题
个体化药物治疗是指
EnrollmentinLosAngelespublicschoolsisexpectedtoplungebynearly30%overthenextdecade,leadingtotoughchoicesahea
留置胸膜腔引流管的目的不包括
患者,女,45岁。肝炎后肝硬化,脾功能亢进,切脾前查血红蛋白198g/L,自细胞3.5×109/L,血小板95×109/L,骨髓象三系明显增生,血浆凝血酶原时间(一期法)30秒(对照13秒),纤维蛋白原测定2.8g/L,白陶土部分凝血活酶时间(KPTT
某房屋建筑的地面工程,分基底垫层、基层、面层和抛光四个工艺过程,按四个分区流水施工,受区域划分和专业人员配置的限制,各工艺过程在四个区域依次施工天数分别为:4,8,6,10;6,12,9,16;4,5,3,4;5,5,4,6,垫层施工完后需间歇2天,第二区
通常采用现金结算,极少进行实物交割的衍生品合约是()。
根据《好客山东服务标准》对机场安检服务的要求:对于禁止携带的物品,机场安检工作人员将进行扣留暂时保管,并应礼貌地告知可在30日内凭取物证明取回。()
A.肠易激综合征B.结核性腹膜炎C.溃疡性结肠炎D.克罗恩病多为右下腹或脐周痉挛性阵痛伴腹鸣,进餐加重,排便缓解
巴黎公社
数据压缩技术是多媒体信息处理中的关键技术之一,数据压缩技术可分为(56)两大类。(57)是一种与频度相关的压缩和编码方法,(58)主要用于视频信息的压缩,(59)则常用于静止图片的信息压缩。由三基色(RGB)原理出发的RGB彩色空间,在多媒体技术中最常用的
最新回复
(
0
)