首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B一>A一
请打开考生文件夹下的解决方案文件proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B一>A一
admin
2020-04-07
43
问题
请打开考生文件夹下的解决方案文件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<iostream>
#include"sLict.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 <<temp 一>data << "一>";
temp=temp一>next;
}
cout: <<"\n###" <<endl;
}
void sList::Release()
{
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();
tout<<"exiting inner block"<<endl;
}
cout<<"exiting outer block"<<endl;
writeToFile("");
return 0;
}
选项
答案
1 sListItem * temp = new sLlstItem; //动态分配空间给结构体temp的指针 2 temp一>data =c; //把c赋值于结构体temp成员data 3 temp一>next=h; //把h赋值于结构temp体成员next 4 h=temp; //把temp赋值给h,即h指向temp指向的空间
解析
主要考查考生对链表的掌握,成员函数Prepend的功能是在链表头部加入一个新元素。形参c是一个char型变量,因此要定义一个新的结构体指针temp,并给它分配sListItem类型空间,把形参c中的值赋给temp的数据域,并使temp通过指针链接到链表上。
转载请注明原文地址:https://jikaoti.com/ti/HwA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序输出的结果是()。#include<iostream>usingnamespacestd;intfuc(char*x);intmain(){cout<<fuc("hello")<<
程序的结果为【】。 #include”iostream.h” template<typenameT> Ttotal(T*data) { Ts=0; while(*data) {
执行下列程序的输出结果是______:#include<iostream>usingnamespacestd;classTestClassl{public:voidfunl(){cout<<"Te
如果一个类至少有一个纯虚函数,那么就称该类为()。
下列程序输出的结果是()。#include<stdio.h>sub1(chara,charb){charc;c=a;a=b;b=c:}sub2(char*a,charb){charc;c=*a;”a=b:b=c
以下C++语言中用于单行注释的是
下面是类MyChss的定义,对定义中语句描述正确的是()。classMyClass{public:voidMyClass(inta){X=a;)//①intf(inta,intb)//②{X=
下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是
随机试题
简述企业与SBA内各种竞争力量的战略关系。
某评估人员对甲公司一台电焊机设备进行评估时,了解到以下情况:(1)与目前同类新式电焊机相比,该电焊机材料消耗偏高、维护费用偏高。通过统计分析,每年该电焊机比同类新式电焊机维护费用多出8000元、多消耗材料200件。(2)经鉴定,该设备尚可使用年限为4年,确
右心室后负荷增加见于下列哪种疾病
某工程有十项工作组成它们之间的网络逻辑关系,如表6—1所示。[问题]1.依据表中逻辑关系绘制双代号网络图。2.用图上计算法计算时间参数。3.简述时标网络计划的绘制方法。4.简述双代号时标网络计划的优点。5.根据
在第三版巴塞尔协议中,新引入的用来反映商业银行长期流动性水平的指标是()。
某公司希望为其客户提供全国统一的客服电话,并让客户免费拨打,该公司可以使用()业务。
给出的几句话中没有语病的一句是()。
根据下列资料,回答以下问题。据统计,2009年全国土地出让收入为14239.7亿元,比上年增长43.2%。其中,上半年收入同比下降19.7%,下半年收入同比增长110.9%。分地区看,全国土地出让收入约三分之二来自沿海省份。据国土
在VisualFoxPro中以下叙述错误的是( )。
Thewomenarenoticeablebytheiruniformsof______darkbluecottondress.
最新回复
(
0
)