首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹pmj3下的工程proj3,其中声明了一个单向链表类sLst。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出
请使用VC6或使用【答题】菜单打开考生文件夹pmj3下的工程proj3,其中声明了一个单向链表类sLst。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出
admin
2021-05-06
81
问题
请使用VC6或使用【答题】菜单打开考生文件夹pmj3下的工程proj3,其中声明了一个单向链表类sLst。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为:
B->A-->
###
A->
###
A->
###
exitinginnerblock
exitingouterblock
注意:只在函数Prepend的“//**********333**********”
和“//**********666**********”之间填入若干语句,不要改动程序中的其他内容。
//SList.h
structsListItem{
chardata;
sListItem*next;
};
classsList{
public:
sList():h(0){}
//0表示空链表
~sList();
voidPrepend(charc);
//在链表前端加入元素
voidDel();
//删除链表首元素
sListItem*First()const{returnh;}
//返回链表首元素
voidPrint()COnSt;
//打印链表内容
voidRelease();
//销毁链表
private:
sListItem*h;
//链表头
};
voidwriteTOFile(constchar*);
//main.cpp
#include
#include"sList.h"
usingnamespacestd,
sList::一sList()
{
Release();
}
voidsList::Prepend(charc)
{
//********333********
//********666********
}
voidsList::Del()
{
sListltem*temp=h;
h=h->next;
deletetemp;
}
voidsList::Print()const
{
sListItem*temp=h;
while(temp!=0)
//判断是否到达链表尾部
{
cout<
data<<"->";
temp=temp->next;
}
cout<<"\n###"<
}
voidsList::Release()
{
while(h!=0)
Del();
}
intmain()
{
sList*ptr;
{
sListobj;
obj.Prepend(’A’);
obj.Prepend(’B’);
obj.Print();
obj.Del();
obj.Print();
ptr=&obj;
ptr->Print();
cout<<"exitinginnerblock"<
}
cout<<"exitingouterblock"<
writeToFile("");
return0;
}
选项
答案
sLiStItern*temp=newsLiStItem; //动态分配空间给结构体temp的指针terap->data=c; //把C赋值于结构体temp成员datagemp->next=h; //把h赋值于结构terap体成员nexth=temp; //把temp赋值给h,即h指向temp指向的空间
解析
主要考查考生对链表的掌握,成员函数Prepend的功能是在链表头部加入一个新元素。形参C是一个char型变量,因此要定义一个新的结构体指针temp,并给它分配sListItem类型空间,把形参C中的值赋给temp的数据域,并使temp通过指针链接到链表上。
转载请注明原文地址:https://kaotiyun.com/show/vTfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序:#includeusingnamespacestd;cla
有如下程序:#includeusingnamespacestd;classBase{public:Base(intx=0){cout
有如下程序:#includeusingnamespacestd;className{charname[20];public:Name(){strcpy(name,"");
下列叙述中正确的是()。
若为Fraction类重载前增1运算符++,应在类体中将其声明为()。
对关系S和关系R进行集合运算,结果中既包含关系S中的所有元组也包含关系R中的所有元组,这样的集合运算称为()。
下列运算符中,在C++语言中不能重载的是()。
下列数据结构中,能够按照“先进后出”原则存取数据的是()。
数据流程图(DFD图)是()。
定义学生选修课程的关系模式:SC(S#,Sn,C#,Cn,G)(其属性分别为学号、姓名、课程号、课程名、成绩)。则对主属性部分依赖的是
随机试题
关于臀位的发生与并发症,正确的是
公共建筑楼梯梯段宽度达到(),必须在梯段两侧均设扶手。
银行对贷款项目进行贷前管理的主要内容包括()。
发生火灾时,应急照明控制器接收到消防联动信号后,下发控制命令至消防应急灯具,控制应急照明配电箱和消防应急灯具转入应急状态,为人员疏散和消防作业提供照明和疏散指示的是()系统。
患者,男,26岁,因患白血病住院治疗,为增加其机体抵抗力,可给予输入的血液制品是()。
头顶球技术(足球)
WriteashortessayentitledFastFoodandTraditionalChineseCooking.Youshouldwriteatleast120wordsfollowingtheoutlin
火药的发明源于古代道士的()术。
软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和()。
有如下类声明:classSAMPLE{intn;public:SAMPLE(inti=0):n(i){}voidsetValue(intn0);};下列关于getValue成员函数的定义中,正确的是()。
最新回复
(
0
)