首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹proj2下的工程proj2,其中有元素类Element和队列类Queue的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为: 3 8 5 0 5 0 7 注意:只
使用VC6打开考生文件夹proj2下的工程proj2,其中有元素类Element和队列类Queue的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为: 3 8 5 0 5 0 7 注意:只
admin
2017-02-18
54
问题
使用VC6打开考生文件夹proj2下的工程proj2,其中有元素类Element和队列类Queue的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为:
3 8 5 0
5 0 7
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容。
#include
#include
#include
using namespace std;
#define MaxLength 100
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(){ dclcte[]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
element
=element[i+1];
//**********found**********
____________;
return tmp;
}
void Queue::show()const{
//**********found**********
for(___________)
cout<
.n<<’’:
cout<
}
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();
return 0;
}
选项
答案
(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)从数组中删除(采用移动后续所有元素的方式),并作为函数返回值返回;fmnt()甬数返回队列首元素;size()函数返回当前element数组的元素个数;show()函数将element数组中的元素的n值输出,由上面的分析,补充代码如下:
(1)size()函数返回element数组的元素个数,tail的值是element数组的最后一个元素的下标,所以返回tail+l即可。
(2)push()函数将参数ele插入到队列的尾部,即将ele保存到element数组下标为(tail+1)的位置:ele.ment[++tail] =ele;
(3)p叩()函数将element数组的首元素保存到tmp变量中,然后遍历element数组,将下标从1开始的元素逐个赋给前一个元素,再把tail的值自减1,tajl--;
(4)show()函数需要遍历element数组,然后将元素的n值输出,遍历下标的变量需要定义为i,i初值从0开始,直到i等于最后一个元素的下标,即tail。int i=0;i<=tail;i++
转载请注明原文地址:https://kaotiyun.com/show/aIAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在一个C++程序中,每个变量都必须遵循______的原则。
类中数据成员和成员函数的默认类型为______。
下列程序在构造函数和析构函数中申请和释放类的数据成员int*a,申请时使用形参b初始化a,请填空。classA{public:A(intb);~A(
有如下程序:#include<iostream.h>longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}
有如下程序#include<iostream.h>#defineN2#defineMN+1#defineNUM2*M+1voidmain()
若执行下面的程序时,从键盘上输入5和2,则输出结果是#include<iostream.h>voidmain(){inta,b,k;cin>>a>>b;
当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【】。
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
在内存中,存储字符’X’要占用1个字节,存储字符串"X"要占用________个字节。
随机试题
腹部外伤伴有内出血休克,最有价值的处理原则是
某穿堤建筑物施工招标,A、B、C、D4个投标人参加投标。招标投标及合同执行过程中发生了如下事件:事件1:经资格预审委员会审核.本工程监理单位下属的具有独立法人资格的D投标人没能通过资格审查。A、B、C3个投标人购买了招标文件,并在规定的投标截
背景某机电安装公司,为进入某钢铁企业的建筑市场,采取低价中标的方法承接了高炉热风炉鼓风机安装任务。由于利润低,施工单位资源投入不足,项目经理对该工程积极性不大,造成施工准备阶段的质量控制不充分,施工受到资源和条件的影响,影响了施工进度和工程质量。项目经理
某企业年初未分配利润为100万元,本年净利润为1000万元,按10%计提法定盈余公积,按5%计提任意盈余公积金,宣告发放现金股利为80万元,该企业期末未分配利润为()万元。
尽管基金份额净值直接关系到基金投资者的利益,但基金份额净值的计算也不必准确。()
在采用CPT术语时,在多式联运情况下,涉及两个以上的承运人,卖方承担的风险自货物交给第一承运人控制时即转移给收货人。()
询问证人应个别进行,应制作笔录。( )
结合材料,回答问题:材料1万有引力定律的发现,是17世纪自然科学最伟大的成果之一。万有引力定律揭示了天体运动的规律,在天文学上和宇宙航行计算方面有着广泛的应用。它为实际的天文观测提供了一套计算方法,可以只凭少数观测资料,就能算出长周期运行的天体
IdecidedtotakehertoLondon______train.
HowAdvertisementIsDone?A)Whenwechooseawordwedomorethangiveinformation;wealsoexpressourfeelingsaboutwha
最新回复
(
0
)