首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】本程序将两个从小到大的有序链表合成一个新的从小到大的有序链表。链表的每一项由类Node描述,而链表由类List描述。类List的成员函数有以下几个。 ①createList
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】本程序将两个从小到大的有序链表合成一个新的从小到大的有序链表。链表的每一项由类Node描述,而链表由类List描述。类List的成员函数有以下几个。 ①createList
admin
2009-02-15
37
问题
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。
【说明】本程序将两个从小到大的有序链表合成一个新的从小到大的有序链表。链表的每一项由类Node描述,而链表由类List描述。类List的成员函数有以下几个。
①createList():创建从小到大的有序链表。
②multiplyList(List L1,List L2):将链表L1和链表L2合并。
③print();打印链表。
# include <iostream.h>
class List;
class Node {
friend class List;
public:
Node(int data)
{(1); }
private:
int data;
Node *next;
};
class List {
public:
List( ) {list = NULL;}
void multiplyList(List L1, List L2);
void createList( );
void print( );
private:
Node *list;
};
void List::createList( )
{ Node *p, *u, *pm;
int data;
list = NULL;
while (1)
{ cout<<"输入链表的一项: (小于零,结束链表)"<<end1;
cin >> data;
if(data<0)break; //小于零,结束输入
p = list;
while (p != NULL && data > p->data) //查找插入点
{ pre = p;
p = p->next;
}
u=(2):
if(p==list)
list = u;
else
pre->next = u;
(3):
}
void List::multiplyList (List L1, List L2)
{ Node *pL1, *pL2, *pL, *u;
list = NULL;
pL1 = L1.list;
pL2 = L2.1ist;
while (pL1 != NULL && pL2!= NULL)
{
if (pL1->data < pL2->data)
{ u = new Node (pL1->data);
pL1 = pL1 ->next;
}
else
{ u = new Node (pL2->data));
pL2 = pL2->next;
}
if (list==NULL)
list=(4);
else
{ pL->next = u;
pL =u;
}
}
pL1 = (pL1 != NULL) ? pL1:pL2;
while (pL1 != NULL)
{ u =(5);
pL1 = pL1->next;
if (list==NULL)
list=pL=u;
else
{ pL->next = u;
pL = u;
}
}
}
void List::print( )
{ Node *p;
p = list;
while (p != NULL)
{ cout << p->data << "\t";
p = p->next;
}
cout << end1;
}
void main ( )
{ List L1, L2, L;
cout << "创建第一个链表\n"; L1.createList ( );
cout << "创建第二个链表\n"; L2.createList ( );
L1.print ( ); L2.print ( );
L.multiplyList (L1, L2);
L.print ( );
}
选项
答案
(1)this->data=data,next=NULL (2)new Node(data) (3)u->next=p (4)pL=u (5)new Node(pL1->data)
解析
(1)this->data=data,next=NULL
Node构造函数给成员data和next赋初值。
(2)new Node(data)
动态构造一个Node对象,赋初值为data。
(3)u->next=p
将p结点作为u的下一个结点,连在链表中。
(4)pL=u
若list为空,也就是新表为空,则让新表头指针pL指向u。
(5)new Node(pL1->data)
若pL1 !=NULL,则用表中结点的值pL1->data作为初值生成一个新的Node对象。
转载请注明原文地址:https://kaotiyun.com/show/xrDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
包过滤防火墙是一种通过软件检查数据包以实现系统安全防护的基本手段,以下叙述中,不正确的是()。
单元测试的测试内容包括_____________。①模块接口②局部数据结构③模块内路径④边界条件⑤错误处理⑥系统性能
对于逻辑表达式((a‖(b&c))‖(C&&d)),需要___________个测试用例才能完成条件组合覆盖。
软件复杂性是指理解和处理软件的难易程度,其度量参数不包括___________。
在ISO/IEC软件质量模型中,功能性是与一组功能及其指定的性质的存在有关的一组属性,其子特性不包括__________。
在结构化分析中,用数据流图描述(42)。当采用数据流图对银行客户关系管理进行分析时,(43)是一个加工。(42)
某开发小组欲开发一个软件系统,实现城市中不同图书馆的资源共享,包括实体资源和电子资源,共享规则可能在开发过程中有变化。客户希望开发小组能尽快提交可运行的软件,且可以接受多次交付。这种情况下最适宜采用(31)开发过程模型。主要是因为这种模型(32)。(
一个程序的控制流图中有6个节点,10条边,在测试用例数最少的情况下,确保程序中每个可执行语句至少执行一次所需要的测试用例数的上限是______。
编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段,其中,(22)并不是每种编译器都必需的。
设用2K×4位的存储器芯片组成16K×8位的存储器(地址单元为0000H~3FFFH,每个芯片的地址空间连续),则地址单元0B1FH所在芯片的最小地址编号为______。A.0000HB.2800HC.2000HD.0800H
随机试题
关于程序法定,下列说法正确的是:()
A.X线胸片病变部位透亮度增加B.X线胸片病变部位肺纹理消失C.两者均有D.两者均无肺大疱时可见
根据《宪法》规定,关于国务院的说法,下列哪些选项是正确的?(2010年试卷一第61题)
自然保护区的内部未进行分区的,依照《自然保护区条例》应按有关()的规定管理。
按照金属切割过程中加热方法的不同大致可以把切割分为()。
用于振实填料为爆破石渣、碎石类土、杂填土和粉土等非黏性土效果较好的填筑压实方法是()。
采用钢—混凝土结合梁的目的是()。
封闭式基金在二级市场上的竞价交易,其交易价格由供求关系和基金业绩决定,围绕着( )上下波动。
一般资料:男,38岁,私企老板。下面是心理咨询师与求助者的咨询片断:心理咨询师:你好!我能在哪方面为你提供服务?求助者:我也不知道是怎么了,所以想请您帮忙弄清楚我到底是哪里出了问题。心理咨询师:哦,原来是这样呀!那就
单击命令按钮执行以下程序,则输出结果为()。PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=14:y=48CallProc(x,y)
最新回复
(
0
)