首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的
admin
2018-03-13
55
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为:
B->A->
###
A->
###
A->
###
exiting inner block
exiting outer block
注意:只在函数Prepend的“//**********333**********”和“//**********666**********”之间填入若干语句,不要改动程序中的其他内容。
//sList.h
Struer sListItem{
char data;
sListItem*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()
{
sLisstItem*temp=h;
h=h->next;
delete temp;
}
void sList::Print()const
{
sListItem*temp=h;
while(temp!=0)
//判断是否到达链表尾部
{
cout<
data<<"->";
temp=temp->next;
}
cout<<"\n###"<
}
void sList::Release()
{
while(h!=0)
Del();
}
int main()
{
sList*ptr;
{
sT&st obj;
obj.Prepend(’A’);
obj.Prepend(’B’);
obj.Print();
obj.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; //把c赋值于结构体temp成员datatemp->next=h; //把h赋值于结构temp体成员nexth=temp; //把temp赋值给h,即h指向temp指向的空间
解析
主要考查考生对链表的掌握,成员函数Prepend的功能是在链表头部加入一个新元素。形参c是一个char型变量,因此要定义一个新的结构体指针temp,并给它分配sListhem类型空间,把形参c中的值赋给temp的数据域,并使temp通过指针链接到链表上。
转载请注明原文地址:https://kaotiyun.com/show/AVAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是
有以下程序:#include"iostream.h"voidmain(){inti=1,j=1,k=2;if((j++||k++)&&i++)cout<<i<<","<<j<<","<<k;
若变量已正确定义并赋值,以下符合C++语言语法的表达式是
下述关于数据库系统的叙述中,正确的是()。
下面程序的输出是:***********5.235.23***********请将下划线上遗漏的部分补充完整。#include<iostream>#include<iom
虚函数必须是类的______。
下列对派生类的描述中,错误的是
对建立良好的程序设计风格,下面描述正确的是
下列程序的输出结果是______。#include<iostream>usingnamespacestd;classbase{public:intn;base(intx){
下列程序的输出结果为2,请将程序补充完整。#include<iostream>usingnamespacestd;classBase{public:______voidfun(){cout<<1;}
随机试题
男性,25岁,3周前自非洲援外归国,因“反复高热、畏寒、寒战一周”入院,疑为疟疾,予氯喹治疗3天,病情无好转。下列处理较合适的是:()
引起出血时间延长的因素是
采用工程项目总承包模式的建设工程项目,发包人可将()等一系列工作全部发包给一家承包单位。
纳税人对税务机关作出逾期不缴纳罚款加处罚款的决定不服的,应当先缴纳罚款和加处罚款,再申请行政复议。()(2015年)
增发新股是上市公司股权再融资的一种方式。下列关于增发新股的说法中,不正确的是()。
教育是科技创新的重要手段,体现了教育的()。
到2025年,我国要全面形成全民普法制度完备、实施精准、评价科学、责任落实的工作体系。()
下列不属于我国货币政策工具的是()。
假民公田
10GB的硬盘表示其存储容量为()。
最新回复
(
0
)