首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹proj2下的工程proj2,其中有元素类Element和队列类Queue的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为: 3850 507 注意:只能在横线处填写适当的代码,不要改动
使用VC6打开考生文件夹proj2下的工程proj2,其中有元素类Element和队列类Queue的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为: 3850 507 注意:只能在横线处填写适当的代码,不要改动
admin
2017-07-28
40
问题
使用VC6打开考生文件夹proj2下的工程proj2,其中有元素类Element和队列类Queue的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为:
3850
507
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容。
#include<iostream>
#include<cmath>
#include<cstdliti>
using nameespace std:
#define MaxLength100
class Element{//“元素”类
public:
int n;
Element(int i=0):n(i){}
};
class Queue{//“队列”类
Element*element;//指向存储元素的数组的指针
int tail;//队尾元素的下标
public:
Queue():element(new Element[100]),tail(-1){}
~Queue(){delete[]element;}
void push(Element ele);//在队列尾端添加一个元素
Element pop();//在队列首端删除一个元素,返回被删元素
Element front()const{return element[0];}//返回队首元素,但不从队列中删除该元素
//**********found**********
int size()const{return(______________);}//返回元素个数
void show()const;//显示集合中所有元素
};
void Queue::push(Element ele){
if(tail==MaxLength-1)return;//空间满,不做任何处理
//**********found**********
____________________________;
}
Element Queue::pop(){
if(size()==0)exit(1);//队列空,不做任何处理
Element tmp=element[0];
for(int i=0;i<tail;i++)
element
=element[i+1];
//**********found**********
____________________________;
return tmp;
}
void Queue::show()const{
//**********found**********
for(_____________________)
cout<<element
.n<<’ ’;
cout<<endl:
}
int main(){
Queue q;
q.push(3);
q.push(8);
q.push(5);
q.push(0);
q.show();
q.pop();
q.poP();
q.push(7);
q.show();
return0;
}
选项
答案
(1)tail+1 (2)element[++tail]=ele (3)tail-- (4)int i=0;i<=tail;i++
解析
本题考查的知识点为:类的数据成员和类的成员函数。
题意定义了Element类,表示队列中的元素,它包含一个成员n,表示元素的值;定义了Queue类,表示队列,它包含两个成员:element是动态分配的一个数组,每个元素都是Element类型;tail表示队列尾部的下标值,指向element数组的最后一个元素,当数组为空时,tail的值为-1,所以初始化为-1;另外Queue类还定义了若干成员函数:构造函数为element数组动态分配100个元素空间,初始化tail为-1;析构函数释放element;push()函数向队列中添加一个新元素ele,即将形参ele存放到数组尾部,并将tail自增1;pop()函数将element数组的第一个元素(下标为0)从数组中删除(采用移动后续所有元素的方式),并作为函数返回值返回;front()函数返回队列首元素;size()函数返回当前element数组的元素个数;show()函数将element数组中的元素的n值输出,由上面的分析,补充代码如下:
(1)Bize()函数返回element数组的元素个数,tail的值是element数组的最后一个元素的下标,所以返回tail+1即可。
(2)push()函数将参数ele插入到队列的尾部,即将ele保存到element数组下标为(tail+1)的位置:element[++tail]=ele;
(3)pop()函数将element数组的首元素保存到tmp变量中,然后遍历element数组,将下标从1开始的元素逐个赋给前一个元素,再把taLil的值自减1,tajl--:
(4)show()函数需要遍历element数组,然后将元素的n值输出,遍历下标的变量需要定义为i,i初值从0开始,直到i等于最后一个元素的下标,即tajl。int i=0;i<=tail;i++
转载请注明原文地址:https://kaotiyun.com/show/MFAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
符号常量可以用宏定义define和______来表示。
以下程序的执行结果是______。#include<iostream.h>classSample{intn;public:Sample(){}Sample(inti(n=i;)v
若有下面的说明和定义:structtest{charm2;floatm3;unionuu{charu1[5];floatu2;}u
有以下程序:#include<iostream>usingnamespacestd;intmain(){intx=15;while(x>10&&x<50){
下面程序的输出结果是()。#include<iostream>usingnamespaceStd;intmain(){intx[6]={1,3,5,7,9,11},*k,**s;
考虑一年四季的顺序关系时,下列数据元素前者不是后者前件的是()。
随机试题
A、Hedoubledthereward.B、Hesethimanexample.C、Hecheeredhimonalltheway.D、HehadtheeventcoveredonTV.A
根据我国《劳动保障监察条例》的规定,劳动保障监察的公开原则的“公开”是指()
患者,男,25岁。5天前劳动后出现右下后牙区胀痛,进食,吞咽时加重,昨日起出现局部自发性跳痛,张口受限,低热头痛。检查:右下颌角区稍肿胀,无压痛,张口度两指。近中阻生,牙龈红肿充血,挤压可见远中盲袋内少量脓液溢出,相当于颊侧前庭沟丰满,充血,压痛明显,有波
李女士被确诊患有滴虫性阴道炎,准备用自助冲洗器灌洗阴道,护士应指导她将醋酸冲洗液的浓度配置为
患者,女性,20岁,1型糖尿病患者,出现恶心、厌食2天,神志不清1小时,查体面色潮红,呼吸深快,意识障碍。诊断方面最可能是
A.影响酶的活性B.作用于受体C.干扰核酸代谢D.影响细胞膜离子通道E.影响生物活性物质及其转运体抗高血压药依那普利的作用机制是()。
1.背景某省政府研究考虑扩建省会机场,报请上级主管机关审批;并请某机场规划设计院进行规划设计。该机场规划设计院经研究后认定,机场的扩建将导致机场净空保护区扩大,并明确提出:(1)附近山坡上的A磨料厂(私人企业)位于机场净空保护区域内,且烟囱超高;同时,
()是指员工在劳动合同期未满时决定提前结束合同关系,主动离开企业组织的行为。
累计工作满20年以上的职工,请病假累计()以上的,该职工不再享受当年年休假。
现在社会出现一种现象,大城市人才过多。学生大多喜欢报考大城市的警察职务,却很少有人愿意报考中小城市特别是偏远山区的职位,你怎么看待这个问题?
最新回复
(
0
)