首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程pmj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程pmj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输
admin
2016-06-12
33
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程pmj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为:
B一>A一>
###
A一>
###
A一>
####
exiting inner block
exiting outer block
注意:只在函数Prepend的“//**********333**********”和“//**********666**********”之间填入若干语句,不要改动程序中的其他内容。
//SList.h
strucL sListItem{
char data;
sListItem*nexL;
};
class sList{
public:
sList():h(0){)
//0表示空链表
一sLLst();
void Prepend(char C);
//在链表前端加入元素
void Del();
//删除链表首元素
sListItern*First()const{return
h;}
//返回链表首元素
void Print()const;
//打印链表内容
VOid Release();
//销毁链表
private:
sListItem*h;
//链表头
};
void writeToFile(const char*};
//main.cpp
#include
#include”sList.h”
us ing namespace std;
sList::一sList()
{
Release();
}
void sList::Prepend(char c)
{
//**********333**********
//**********666**********
}
void sList::Del()
{
sListltem*temp=h;
h=h一>next;
delete temp;
}
void sList::Print()const
{
sListItem*temp=h;
while(Lemp!=0)
//判断是否到达链表尾部
{
tout<
data<<“一>”;
temp=temp一>next;
}
tout<<”\n###”<
}
void sList::Release()
f
while(h!=0)
Del();
}
int main()
{
sList*ptr;
{
sList obj;
obj.Prepend(‘A’);
obj.Prepend(‘B’);
obj.Print();
obj.Del();
obj.Print();
ptr=&obj;
ptr一>Print();
cout<<“exiting inner block”<
}
Gout<<“exiting outer block”<<
endl;
writeToFile(“”);
return 0;
}
选项
答案
sLlstItem* temp=rlew sListItem; //动态分配空间给结构体terap的指针temp一>data=c; //把c赋值于结构体temp成员data temp一>next=h; //把h赋值于结构temp体成员nexth=temp; //把temp赋值给h,即h指向temp指向的空间
解析
本题考查的是sList类,其中涉及构造函数、字符指针、析构函数、成员函数和const函数。
【解题思路】
主要考查考生对链表的掌握,成员函数Prepend的功能是在链表头部加入一个新元素。形参c是一个char型变量,因此要定义一个新的结构体指针temp,并给它分配sListItem类型空间,把形参c中的值赋给temp的数据域,并使temp通过指针链接到链表上。
【解题宝典】
主要考查考生对链表的掌握,单向链表是指针的一大应用,运用指针对单向链表进行操作有很多优点,如插入和删除元素很方便等。
转载请注明原文地址:https://kaotiyun.com/show/WiNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关于友元的概念错误的是
与y=(x>0?1:x<0?-1:0);的功能相同的if语句是
有以下程序:#include<iostream>usingnamespacestd;classR{public:R(intf1,intr2){R1=r1;
有如下的程序:#include<iostream>#include<fstream>usingnamespacestd;intmain(){ofstreamoutf("D:\\temp.t
若有以下程序:#include<iostream>usingnamespacestd;classBase{public:Base(){x=0;
下列关于break语句的描述中,不正确的是()。
要采用“cin,tout”进行输入输出时,必须包含的头文件是【】。
有如下程序: #include"iostream.h" voidmain() { intx=1,a=0,b=0; switch(x){ case0:b++; case1:a++; case2:a++;b++;
下列运算符中,()运算符不能在C++中重载。
下面叙述错误的是()。
随机试题
Ifyouenjoythecomfortofawhite-collarjob,youmaybestunnedtolearnjusthowmuchyouarebeingwatched.Surveillanceis
电子政务的鼻祖是()
PeterandDavidhaven’tbeenonspeakingtermsrecendy.They______aboutsomething.
某医院的资料,计算了各种疾病所占的比例,该指标为
根据三级预防的原则,劳动卫生的二级预防,不包括
A、乙酰辅酶AB、丙酮酸C、草酰乙酸D、琥珀酰辅酶AE、α-酮戊二酸与酮体生成有关的是
关于基金管理人和基金托管人从事基金管理活动取得的收入有关的税收,以下说法正确的有()。
根据下面资料,回答问题:2014年,人民币国际使用继续较快发展,人民币跨境收支占本外币跨境收支的比重上升至23.6%,离岸人民币市场进一步拓展,人民币国际合作不断深化。据环球银行金融电信协会(SWIFT)统计,2014年12月,人民币成为全球第2
世界贸易组织的英语简称为WTO,中文简称为世贸组织,它是一个独立于联合国的永久国际性组织,有“经济联合国”之称,其总部设立在()。
WhyDIY?A)ThereasonswhypeopleengageinDIYhavealwaysbeennumerousandcomplex.Forsome,DIYhasprovidedarareopportu
最新回复
(
0
)