首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的
admin
2018-03-13
58
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程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
#include"sList.h"
using namespace std;
sList::~sList()
{
Release();
}
void sList::Prepend(char c)
{
//**********333**********
//**********666**********
}
void sList::Del()
{
sLisstItem*temp=h;
h=h->next;
delete temp;
}
void sList::Print()const
{
sListItem*temp=h;
while(temp!=0)
//判断是否到达链表尾部
{
cout<
data<<"->";
temp=temp->next;
}
cout<<"\n###"<
}
void sList::Release()
{
while(h!=0)
Del();
}
int main()
{
sList*ptr;
{
sT&st obj;
obj.Prepend(’A’);
obj.Prepend(’B’);
obj.Print();
obj.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; //把c赋值于结构体temp成员datatemp->next=h; //把h赋值于结构temp体成员nexth=temp; //把temp赋值给h,即h指向temp指向的空间
解析
主要考查考生对链表的掌握,成员函数Prepend的功能是在链表头部加入一个新元素。形参c是一个char型变量,因此要定义一个新的结构体指针temp,并给它分配sListhem类型空间,把形参c中的值赋给temp的数据域,并使temp通过指针链接到链表上。
转载请注明原文地址:https://www.kaotiyun.com/show/AVAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include"iostream.h"voidmain(){intx=1,a=0,b=0;swish(X){case0:b++;case1:a++;case
面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是()。
对如下二叉树进行后序遍历的结果为()。
数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,所以,基于逻辑结构的应用程序不必修改,称为______。
下列对派生类的描述中,错误的是
函数定义为Fun(int&i),变量定义n=100,则下面调用正确的是
在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。#include<iostream.h>usingnamespacestd;classA{pu
______允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。
下列程序的输出结果为2,请将程序补充完整。#include<iostream>usingnamespacestd;classBase{public:______voidfun(){cout<<1;}
随机试题
当项目非常庞大和复杂而需要分为几部分进行成本计划的编制时,采用的成本计划编制方法是()。
科目汇总表和汇总记账凭证是一种()。
期货交易流程中,客户办理开户登记的正确程序为( )。
证券公司向客户融资,可以使用()。I.自有资金Ⅱ.客户资金账户内存放期达到规定时间的资金Ⅲ.公司贷款所得Ⅳ.客户信用交易担保资金账户内的资金
在人员招聘活动的评估中,内容效度多用于()。
撰写培训评估报告的步骤包括()。
世界食品需求能否保持平衡,取决于人口和经济增长的速度。人口增长会导致食物摄取量的增加;另一方面,经济增长会促使畜产品消费增加,改变人们的食物结构,从而对全球的谷物需求产生影响。据此可知()
每一个复杂的生物个体都是由各种不同的细胞构成的系统,其中每个细胞中的DNA都包含了该生物个体所有性状的遗传信息。这段话蕴涵的哲理有()。
社会规范学习
Whatisthebesttitleofthepassage?
最新回复
(
0
)