首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B->A-> ##
请打开考生文件夹下的解决方案文件proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为: B->A-> ##
admin
2018-07-06
54
问题
请打开考生文件夹下的解决方案文件proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为:
B->A->
###
A->
###
A->
###
exiting inner block
exiting outer block
注意:只在函数Prepend的“//********333********”和“//********666********”之间填入 若干语句,不要改动程序中的其他内容。
//SList.h
struct sListItem{
char data;
sListItem*next;
},
class sList{
public:
sList:( ):h(0){}
//0表示空链表
~sList( );
void Prepend(char c);
//在链表前端加入元素
void Del( );
//删除链表首元素
sListTtem*First( )const{return h;}
//返回链表首元素
void Print( )const;
//打印链表内容
void Release( );
//销毁链表
private:
sListItem*h;
//链表头
};
void wrteToFile(const char*);
//main.cpp
#include<iostream>
#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;
deletetemp;
}
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( );
cout;<<"exiting inner block"<<endl;
}
cout;<<"exiting outer block"<
<endl;
writeToFile(" ");
return0;
}
选项
答案
sLiStItem*temp=new sListItem;//动态分配空间给结构体temp的指针 temp->data=c;//把C赋值于结构体temp成员data temp->next=h;//把h赋值于结构temp体成员next h=temp; //把temp赋值给h,即h指向temp指向的空间
解析
主要考查考生对链表的掌握,成员函数Prepend的功能是在链表头部加入一个新元素。形参c是一个char型变量,因此要定义一个新的结构体指针temp,并给它分配sListhem类型空间,把形参c中的值赋给temp的数据域,并使temp通过指针链接到链表上。
转载请注明原文地址:https://www.kaotiyun.com/show/3AAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
派生类中的成员不能直接访问基类中的()成员。
设有下定义的语句:inta[3][2]={10,20,30,40,50,60};intb[3][2]={10,20,30,40,50,60};则a[1][1]*b[2][1)的结果为()。
有以下程序:#include<iostream>usingnamespacestd;classComplex{public:Complex(dOubler=0,dOublei=0):re(r),im
下列程序中横线处应填入的语句是()。ClassBase{public:roidfun(){cout<<“Baseoffun”<<endl;)};classDerived:publicBas
在面向对象方法中,类的实例称为______。
数据库恢复是将数据库从______状态恢复到某一已知的正确状态。
使用ifstream流类定义流对象并打开磁盘文件时,文件的隐含打开方式为()。
设计数据库的存储结构属于()。
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
下列字符串中,正确的C++标识符是()。
随机试题
用Percoll分离细胞时可获得四层,其中淋巴细胞层处于
长牡蛎的形状是大连湾牡蛎的形状是
患者,女,50岁,因一氧化碳中毒2小时入院治疗。为促进一氧化碳的排出,最佳的措施是()
对绝大多数客户而言,最关心的保全服务就是( )。
应付职工薪酬核算的内容包括()。
“垄断带来低效率”,那么:为什么在实践中,这种方案又不可行?[东北财经大学801经济学2009、2017研]
下列选项中,评审方法是按照正式化程度逐渐增强排列的是______。
【1】【3】
Whatdevelopmentcausedadeclineintheuseofrailroads?
Itseemssomewhat_________________________________.(指望任何人开两个小时的车来开半个小时的会议是荒谬的)
最新回复
(
0
)