首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件pmj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B->A->
请打开考生文件夹下的解决方案文件pmj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B->A->
admin
2019-04-24
57
问题
请打开考生文件夹下的解决方案文件pmj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为:
B->A->
###
A->
###
A->
###
exiting inner block
exiting outer block
注意:只在函数Prepend的“//********333********”和“//********666********”之间填入若干语句,不要改动程序中的其他内容。
//SList.h
struct sListItem{
char data;
sListTtem*next;
};
class sList;{
public:
sList():h(0){)
//0表示空链表
~sList();
void Prepend(char c);
//在链表前端加入元素
void Del();
//删除链表首元素
sListItem* First() const {
return h;}
//返回链表首元素
void Print()const;
//打印链表内容
void Release();
//销毁链表
private:
sListItem*h;
//链表头
};
void writeToFile(const char* );
//main.cpp
#include
#include"sList.h"
using namespace std;
sList::~sList()
{
Release();
}
void sList::Prepend(char c)
{
//********333********
//********666********
}
void sList::Del()
{
sListItem*temp=h;
h=h->next;
delete temp;
}
void sList::Print()const
{
sListItem*temp=h;
while(temp!=0)
//判断是否到达链表尾部
{
cout <
data << "
-> ";
temp=ernp->next;
}
cout << "\n###" <
}
void sList::Release()
{
while(h!=0)
Del();
}
int main()
{
sList*ptr;
{
sList obj;
obj.Prepend(’A’);
obj.Prepend(’B’);
0bj.Print();
0bj.Del();
obj.Print();
ptr=&obj ;
ptr->Print();
cout<<"exiting inner block"<
}
cout<<"exiting outer block"<
writeToFile(" ");
return 0;
}
选项
答案
SListItem * temp=new SListItem; //动态分配空间给结构体temp的指针temp->data=C: //65 C赋值于结构体temp成员data temp->next=h: //把h赋值于结构temp体成员next h=temp; //把temp赋值给h.即h指向temp指向的空间
解析
主要考查考生对链表的掌握,成员函数Prepend的功能是在链表头部加入一个新元素。形参c是一个char型变量,因此要定义一个新的结构体指针temp,并给它分配sListItem类型空间,把形参c中的值赋给temp的数据域,并使temp通过指针链接到链表上。
转载请注明原文地址:https://kaotiyun.com/show/1OAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespaeestd;classAnimal{public:virtualchar*getType()const{return"Anim
非成员函数应该声明为类______函数才能访问该类的私有成员。
测试用例包括输入值集和______值集。
下面关于构造函数和析构函数的描述中,错误的是()
有以下程序,输出结果()。#include<iostream>usingnamespacestd;classComplex{public:Complex(doubler=0,doublei=
已知一个函数的原型是:intfn(doublea);若要以5.27为实参调用该函数,应使用表达式______。
数据管理技术的发展经历了人工管理、文件系统和数据库系统3个阶段,其中数据独立性最高的是______。
已知doublevar;是文件1.CPP中的一个全局变量定义,若文件2.CPP中的某个函数也需要访问,则在文件2.CPP中var应说明为______。
有如下定义:classMA{intvalue;public:MA(intn=0):value(n){}};MA*ta,tb;其中MA类的对象名标识符是_____
以下哪个不是C++语言中的有效标识符?
随机试题
下列药物属于清热泻火类的药物有
以下有关像素和体素的表达,正确的是
患者停经近7周时诊断为早孕,人工流产术失败,继续妊娠至16周时,患者突然出现剧烈下腹部疼痛,伴心悸头晕,四肢湿冷,面色苍白,移动性浊音(+),最可能的诊断是
一女性在一次不洁性交后出现子宫颈红肿、阴道分泌物增多、排尿困难等症状,医生疑为淋球菌感染,取分泌物行细菌学检查。培养条件为
钙测定的参考方法是
关于老年人药效学方面的说法中正确的是
关于上市公司不得公开发行证券,下列说法中,错误的是()。
某服务公司主要从事人力资源中介服务,2012年1月份发生以下业务:(1)接受某用工单位委托安排劳动力,取得该单位支付的价款共计50万元。其中,28万元用于支付劳动力的工资和福利费、12万元用于支付劳动力的社会保险费、2万元用于支付劳动力的住房公积金、1万
SincetheGreatDepression,theUnitedStatesgovernmenthasprotectedfarmersfromdamagingdropsingrainprices.
下列关于交割结算价的选取不同交易所存在差异的说法中,正确的有()。
最新回复
(
0
)