首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
admin
2018-03-13
32
问题
请使用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 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(st1);
popData(st1);
cout<
LinkStack st2;pushData(st2);
popData(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/uVAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include"iostream.h"voidmain(){intx=1,a=0,b=0;swish(X){case0:b++;case1:a++;case
对如下二叉树进行后序遍历的结果为()。
Staff类含有血型数据成员ID,两个Staff对象相等是指它们的ID相同。下面的函数重载了运算符==,它用来判断两个Staff对象是否相等,相等时返回true,否则返回false。请将横线处缺失部分补充完整。boolStaff::Sta
有以下程序#include<iostream>usingnamespacestd;staticintdays[]={31,28.31,30,31,30,31,31,30,31,30,31};
已知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列Mystx{3.2),y(5.5),z(0.0);z=8.9-y;y=x-6.3;能够正常运行,运算符函数ope
若执行语句:cout<<setfill(’*’)<<setw(10)<<123<<"OK"<<end1后将输出
对建立良好的程序设计风格,下面描述正确的是
有以下程序:#include<iostream>usingnamespacestd;classsample{private:intx;staticinty;public:sample(inta);staticvo
随机试题
什么是证券的β系数?它有什么意义?
一分子葡萄糖完全氧化成CO2与H2O时,产生ATP的分子数是
评标委员会在初评阶段不应淘汰的投标书有( )。
1.背景:某市新建小区雨水管线工程,直径1500mm,长1320m,管顶覆土约4.8m。采用钢筋混凝土管,水泥砂浆抹带接口,90°混凝土基础;施工范围土质为硬塑的轻粉质黏土,无须降低地下水。由于场地狭小,无法采用机械开挖,项目部决定采用人工开挖:
从事建筑活动的企业或单位,应当向()申请设立登记,并由建设行政主管部门审查,颁发资格证书。
罗某,H省Q市R区人,经常居住在该市S区。2013年1月,罗某在L省M市N区窃得他人自行车一辆,价值240元,后被M市公安局查获,M市公安局(位于M市K区)对其处以拘留15天、罚款500元的行政处罚。罗某对行政处罚决定不服,向M市人民政府申请行政复议。M市
2002年12月31日,甲公司按面值100元发行了100万份可转换债券.取得发行收入总额10000万元。该债券的期限为3年,票面年利率为5%,按年支付利息;每份债券均可在到期前的任何时间转换为甲公司10股普通股;在债券到期前,持有者有权利在任何时候要求甲公
在分布式数据库中可将数据库分割成被称为【】的逻辑单位,它们可以被分配到不同站点上进行存储。
AtraintravelsfromBeijingtoTianjinatanaveragerateof40milesperhourinthemorning,andthencomesbackfromTianjin
IntheUnitedStatesthecostoflivinghasbeensteadilyrisingforthepastfewdecades.Foodprices,clothingcosts,housing
最新回复
(
0
)