首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B一>A一
请打开考生文件夹下的解决方案文件proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B一>A一
admin
2020-04-07
45
问题
请打开考生文件夹下的解决方案文件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://kaotiyun.com/show/9u8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序输出的结果是()。#include<iostream>usingnamespacestd;intfuc(char*x);intmain(){cout<<fuc("hello")<<
以下程序的输出结果是()。main(){inta=4,b=5,c=0,d;d=!a&&!b)||!c;cout<<d<<endl;}
从工程管理的角度来看,软件设计分两步来完成。首先是概要设计,然后是【】。
在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为【】。
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
以下程序的结果是 #include<iostream.h> voidmain() {char*p="abcdefgh",*r; long*q; q=(long*)p; q++; r=(char*)q; co
如果一个类至少有一个纯虚函数,那么就称该类为()。
有如下类定义:classPoint{private:staticinthow_many;};______how_many=0;要初始化Point类的静态成员how_many,在下画线处应填入的内容是
有些运算符既可以作为成员函数重载,也可以作为非成员函数重载。若在一个重载的运算符函数的定义中成功地使用了this指针,说明它是作为【13】重载的
随机试题
毛泽东在《论持久战》中指出,抗日战争要经过的三个阶段是()
结缔组织是基本组织中形式最多样的组织,由大量细胞和少量细胞间质构成。()
丝裂霉素的临床应用包括:
关于总产程和产程分期的叙述正确的是
某机电安装公司承接某工厂建设项目的主厂房、生产用锅炉房等机电安装工程。其中主厂房需要安装的机电设备中动设备不多,主要是容器类的静设备和工艺管线、电气动力、照明等;生产用锅炉安装的技术文件规定,锅筒与对流管连接方法采用焊接。该公司项目经理部在组织制
项目信息门户是一种非常重要的信息管理方式,其运行的周期是()。
掷两个骰子,掷出的点数之和为奇数的概率为P1,掷出的点数之和为偶数的概率为P2,问P1和P2的大小关系是()。
相对于纸张的脆弱易腐而言,竹简更易保存。然而存世的古籍之中,纸张装订的书本远多于竹简。以下哪项如果为真,最能解释上述矛盾?
同盟会成立后先后发动了一系列反清武装起义,其中影响最大的是()
Remembertheconceptof"sisterhood"?Thatquaintrelicofanideathatwomenowedittootherwomentocrashthroughceilings
最新回复
(
0
)