首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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-07-04
76
问题
使用VC6打开考生文件夹proj2下的工程Proj2,其中有元素类Element和队列类Queue的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为:
3 8 5 0
5 0 7
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容。
#include
#include
#include
using namespace std;
#define MaxLength i 00
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
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类还定义了若干成员函数:构造函数为ele.ment数组动态分配100个元素空间,初始化tail为一1;析构函数释放element;push()函数向队列中添加一个新元素ele,即将形参ele存放到数组尾部,并将tail自增1;pop()函数将element数组的第一个元素(下标为0)从数组中删除(采用移动后续所有元素的方式),并作为函数返回值返回;front()函数返回队列首元素;size()函数返回当前element数组的元素个数;show()函数将element数组中的元素的n值输出,由上面的分析,补充代码如下:
(1)size()函数返回element数组的元素个数,tail的值是element数组的最后一个元素的下标,所以返回tail+l即可。
(2)push()函数将参数ele插入到队列的尾部,即将ele保存到element数组下标为(tail+1)的位置:element[++tail]=ele;
(3)poP()函数将element数组的首元素保存到tmp变量中,然后遍历element数组,将下标从1开始的元素逐个赋给前一个元素,再把tail的值自减1,tail--;
(4)show()函数需要遍历element数组,然后将元素的n值输出,遍历下标的变量需要定义为i,i初值从0开始,直到i等于最后一个元素的下标,即tail。int i=0;i<=tail;i++
转载请注明原文地址:https://www.kaotiyun.com/show/uLAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序编译时发现ma[3]=9错误,其原因是【 】。#include<iostream.h>classFunArray{int*pa;//指向一个数组空间intsize;//数组元素个数public:FunA
数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中的数据,处理用户对数据库的访问,这组软件称为【 】。
以下有关类与结构体的叙述不正确的是
下列程序执行后的输出结果是 void funcl(int i); void func2(int i); char st[]="hello,frlend!"; void funcl(int i) { cout<<st[i];
阅读下面程序:#include<iomanip.h>intmain(){cout<<setfill(’*’)<<setw(8);cout<<setprecision(5)<<3.1
设有n元关系R及m元关系S,它们分别有p、q个元组,则关系R与S经笛卡尔积记为R×S,该关系是一个n+m元关系,那么其元组个数是()。
假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句是【 】。
有下列二叉树,对此二叉树中序遍历的结果为()。
执行下列语句后,输出结果为cout. put(’s’);cout<<,’c’<<’a’;
以下选项中合法的用户标识符是
随机试题
隐性知识对应于OECD分类中的()
成对的脑颅骨是()
吸收剂量的单位Gy与rad的关系是
我国关于反倾销的立法主要有()。
某生产企业为增值税一般纳税人,2019年5月发生以下业务:(1)销售A产品取得收入为80万元(不含税),负责运送A产品而取得的运输收入(不含税)为8万元。(2)为了促销,以折扣方式销售B产品的销售额为200万元(不含税),折扣额20万元,向购买方另开发
在比例尺是1:8的图纸上,甲、乙两个圆的直径比是2:3,那么甲、乙两个圆的实际的直径比是().
儿童体格发育的速度不是直线上升的,而是呈波浪式,有时快些,有时慢些。()
近代中国人民反对帝国主义及其走狗的伟大斗争有()。
会议主持词要根据会议的安排,对有关内容和事项作出说明,对重要问题进行强调。()
在信息社会,政府塑造自身的良好形象,是一种必不可少的能力。这对于提高政府公信力,维护社会稳定与和谐,有着正面意义。树形象、搞宣传不为过,但必须以务实为前提。只有首先关心群众最关心的事,解决好群众急需解决的困难,政府才有与民同乐并为之一“秀”的资本。因此,“
最新回复
(
0
)