首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件pmj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B->A->
请打开考生文件夹下的解决方案文件pmj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B->A->
admin
2019-04-24
42
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
有如下程序段:for(inti=i;i<=50;i++){if(i%31=0)continue;elseif(i%51=0)continue;cout<<i<<",";这个程序的输出结果是_____
已知数组a中有n个元素,下列语句将数组a中从下标x1开始的k个元素移动到从下标x2开始的k个元素中,其中0<=x1<x2<n,x2+k<n,请将下列语句补充完整。for(inti=xl+k一1;i>=xl;i--)a[______]=a[i];
下列程序的输出结果是()。#include<iostream>usingnamespacestd;template<typenameT>Tfun(Ta,Tb){return(a<=b)?a:b;)
下面程序的输出结果是()。#include<iostream>#include<math.h>usingnamespacestd;classpoint{private:doubl
有如下类声明:classFoo{intbar;};则Foo类的成员bar是()
不能作为函数重载的判断依据的是()。
已知下列程序的输出结果是42,请将画线处缺失的部分补充完整。#include<iostream>usingnamespacestd;classTestClass{intvalue;public:Tes
下列是重载乘法运算的函数原型声明,其中错误的是
下面的符号中可以用作C++标识符的是()。
已知doublevar;是文件1.CPP中的一个全局变量定义,若文件2.CPP中的某个函数也需要访问,则在文件2.CPP中var应说明为______。
随机试题
Wesucceeded,afteragooddealof______,inmakingthisgoodkindofmedicineforacough.
根据《突发公共卫生事件应急条例》规定,县级以上人民政府在防治突发事件时,应当
被迫索人向持票人清偿后,可以向其他汇票债务人行使再追索权,请求支付下列哪些金额和费用?( )
露天作业挖掘机或前装机铲装时,爆堆高度不应大于机械最大挖掘高度的()倍。
为适应建筑安装工程招标投标竞争定价的需要,将原其他直接费和临时设施费以及原直接费中属于工程非实体消耗费用合并为( )
列入《出入境检验检疫机构实施检验检疫的进出境商品目录》以及其他法律法规规定需要检验检疫的货物进口时,海关凭______验放。( )
下列各项中,不属于企业流动负债的是()。
我国已进入老龄化社会,老年人消费市场随之增大,一些不法商家盯上了“银发市场”,并进行欺诈活动。如果请你面向社区老年人进行防欺诈宣传,你准备怎样开展工作?
①随着个人崇拜的逐渐淡漠,那些曾经令人______的“圣地”也逐渐失去了往日的辉煌。②要使社会上的正义感永不______,就要在整个民族中大力弘扬正气,特别是广大为政者带个好头。③这种见不得人的勾当,______不是一个堂堂的高级干部应该干的,然而成克杰恰
【B1】【B5】
最新回复
(
0
)