首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用“答题”菜单或使用VC6打开考生文件夹下的工程proj3,其中声明了List类,它是一个用于表示整数列表的类。List的成员函数insert的功能是将一个指定的整数插入到列表的指定位置处,原位置处的及其后的所有元素依次向后顺移一个位置。请补充完整成员
请使用“答题”菜单或使用VC6打开考生文件夹下的工程proj3,其中声明了List类,它是一个用于表示整数列表的类。List的成员函数insert的功能是将一个指定的整数插入到列表的指定位置处,原位置处的及其后的所有元素依次向后顺移一个位置。请补充完整成员
admin
2021-09-05
97
问题
请使用“答题”菜单或使用VC6打开考生文件夹下的工程proj3,其中声明了List类,它是一个用于表示整数列表的类。List的成员函数insert的功能是将一个指定的整数插入到列表的指定位置处,原位置处的及其后的所有元素依次向后顺移一个位置。请补充完整成员函数insert。在main函数中给出了一组测试数据,此情况下程序的输出应该是:
53791326810
5371326810
5—23371326—19810
注意:只需在//**********333**********和//**********666**********之间填入所编写的若干语句,不要改动程序中的其他内容。
#include"List.h"
intmain(){
intdat[]={5,3,7,9,13,2,6,8,1,0);
List1ist(dat,10);
list.show();
list.remove(3);
list.show();
list.insert(一23,1);
list.insert(一19,7);
1ist.show();
writeToFile("C:\\test\\");
return0;
}
}/proj3\list.cpp
#inClude"LiSt.h"
List::List(intd[],intsize){
intmin=(MAX—SIZE>size?size:
MAX_SIZE);
for(inti=0;i
=d
;
count=min;
}
voidList::insert(intdata,int
pos){
//存储空间已满,无法增添新元素
if(count>=MAX_SIZE)return;
//指定的插入位置在最后元素之后,紧贴最后元素之后插入新元素。
if(pos>=count){elem[count++]=data;return;}
//指定的插入位置未超过最后元素处,须移动有关元素以便腾空指定的插入位置,然后插入新元素。
//********333********
//********666********
}
voidList::remove(intpos){
if(pos<0||pos>=count)return;
for(inti=pos;i
elem
=elem[i+1];
count一一;
}
voidList::show(ostream&os)const{
for(inti=0;i
elem
<<’’;
OS<
}
//proj3\list.h
{}1nclude<10Stream>
usingnamespacestd;
#defineMAX_SIZE100
classListt
intelem[MAXSIZE];//存放列表元素的数组
intcount;//列表中元素的个数
public:
List():count(0){}
List(intd[],intsize);
intsize()const{returncount;)
//将数据元素data插入到位置pos处。
注意第一个元素的位置是0。
voidinsert(intdata,intpos);
//删除位置pos处的数据元素。
voidremove(intpos);
//输出列表内容
voidshow(ostream&os=cout)
const;
};
voidwriteToFile(constchar*path);
选项
答案
for(inti=count一1;i>=pos;i--) { elem[i+1]=elem[i]; } elem[pos]=data; count++;
解析
主要考查考生对对象处理的掌握,函数insert的功能是将一个指定的整数data插入到列表的指定位置pos处,原位置处的及其后的所有元素依次向后顺移一个位置。首先通过比较count与MAX_SIZE判断存储空间是否已满,若存储空间已满,直接返回;然后判断插入的位置是否在当前数组最后元素之后,若是,则紧贴最后元素之后插入新元素即可;最后使用for循环,将pos位置及其之后的所有元素向后顺移一位,再将data插入pos位置,同时更新count的值。
转载请注明原文地址:https://kaotiyun.com/show/365p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有两个关系R和S如下:由关系R通过运算得到关系S,则所使用的运算为()。
下列描述中,错误的是()。
为了提高函数调用的实际运行速度,可以将较简单的函数定义为()。
下列有关继承和派生的叙述中,正确的是()。
下列关于C++函数的说明中,正确的是()。
有如下程序:#includeusingnamespacestd;intmain(){int*p;*p=9;eout
执行下列语句段后,输出字符“*”的个数是()。for(inti=50;i>1:--i)cout
下列关于输入流类成员函数getline()的描述中,错误的是()。
请打开考生文件夹下的解决方案文件proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。Score是一个用于管理考试成绩的类。其中,数据成员一S指向存储成绩的数组,_n表示成绩的个数;成员函数Sort使用冒泡排序法将全部成
带链队列空的条件是
随机试题
《立法法》的立法依据是()。
导致肾素分泌的因素有
产后出血采用结扎盆腔血管止血时,首先:
已知平面π点(1,1,0)、(0,0,1)、(0,1,1),则与平面π垂直且过点(1,1,1)的直线的对称方程为()。
一横波的波动方程是距离原点(x=0)处最近的波峰位置为()。[2014年真题]
某家电行业每年平均有3亿人购买家电,每人每年平均购买1.5台,平均每台的价格为2000元,则该家电的总市场潜量为()。
个人独资企业解散后,原投资人对企业存续期间的债务仍应承担偿还责任。但债权人在5年内未向债务人提出偿债请求的,该责任消灭。()
信用卡的使用体现着银行的一项业务活动,这项业务活动是()。
若有定义语句:chars[3][10],(*k)[3]。*P;,则以下赋值语句正确的是
Halliday’swritingleanedverymuchbacktotheleft.Hewastheonlypupilintheclasswhowroteinthisway.Hewasanuisanc
最新回复
(
0
)