首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件pmj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B->A->
请打开考生文件夹下的解决方案文件pmj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B->A->
admin
2019-04-24
33
问题
请打开考生文件夹下的解决方案文件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://jikaoti.com/ti/qYt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序段:charC[20]="examination";C[4]=0;cout<<c<<endl;这个程序的输出结果是______。
如下程序的输出结果是______。#include<iostream>usingnamespacestd;classWages{//“工资”类doublebase;//基本工资dou
下列程序的输出结果是()。#include<iostream>usingnamespacestd;voidfun(int&r){r*=2;}intmain(){int
栈C最多能容纳4个元素,现有6个元素按A、B、C、D、E、F的顺序进栈,下列哪个序列不是可能的出栈序列()。
下面对对象概念描述正确的是()
数据流图中带有箭头的线段表示的是()
执行以下程序后,输出“*”号的个数是______。#include<iostream.h>main(){inti,j;for(i=1;i<5;i++)for(j=2;j<=i;j++)cout<<’
派生类的成员函数不能访问基类的
指针变量所保存的不是一般的数据值,而是程序中另一个对象的______。
下面不属于C++的预定义的流对象是()。
随机试题
普通干粉灭火剂又称为ABC干粉灭火剂,这类灭火剂可扑救A类、B类、C类、E类火灾。()
在不同政治经济制度下,学制在很多方面存在共同特点,如入学年龄,大、中、小学阶段的划分,在很多国家都是一致的。这是因为,学制的建立要受()。
位于两侧小阴唇顶端,为性感器官一部分的是既是性交器官,又是胎儿娩出通道的器官是
评价怀孕早期病毒感染与儿童出生缺陷之间的关系,最适用的研究方法是()。
下列关于二阶系统的闭环特征方程的特征根s的说法正确的是()。
某煤矿井下施工过程中,发现有透水征兆,因抢进度,违反煤矿防治水规定,没有进行探放水,导致发生11人死亡的重大事故。依据《刑法》,应以()的罪名追究该煤矿主要负责人的责任。
城市综合交通规划的作用为()。
计算机网络由哪两部分组成?()。
从空想社会主义诞生到《共产党宣言》问世,其间空想社会主义经历了330多年的发展历程。空想社会主义的开山之作是()
Thereisvirtuallynolimittohowonecanservecommunityinterests,fromspendingafewhoursaweekwithsomecharitableorga
最新回复
(
0
)