首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】本程序将两个从小到大的有序链表合成一个新的从小到大的有序链表。链表的每一项由类Node描述,而链表由类List描述。类List的成员函数有以下几个。 ①createList
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】本程序将两个从小到大的有序链表合成一个新的从小到大的有序链表。链表的每一项由类Node描述,而链表由类List描述。类List的成员函数有以下几个。 ①createList
admin
2009-02-15
48
问题
阅读下列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
软件设计师下午应用技术考试
软考中级
相关试题推荐
软件可靠性管理把软件可靠性活动贯穿于软件开发的全过程,成为软件工程管理的一部分。确定软件可靠性度量活动属于()阶段。
某单位局域网配置如下图所示,PC2发送到Intemet上的报文的源IP地址为()。
算术表达式a+b-c*d的后缀式是___________(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
以下关于用例图的叙述中,不正确的是(44)。图书馆管理系统需求中包含“还书”用例和“到书通知”用例,对于“还书”用例,应先查询该书是否有人预定,若有则执行“到书通知”。“还书”用例和“到书通知”用例是(45)关系,以下用例图中,(46)是正确的。管理员处
模块A的功能为:从数据库中读出产品信息,修改后存回数据库,然后将修改记录写到维护文件中。该模块内聚类型为(38)内聚。以下关于该类内聚的叙述中,正确的是(39)。(39)
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为(33)天。活动BC和BF分别最多可以晚开始(34)天而不会影响整个项目的进度。(33)
对于一般的树结构,可以采用孩子.兄弟表示法,即每个结点设置两个指针域,一个指针(左指针)指示当前结点的第一个孩子结点,另一个指针(右指针)指示当前结点的下一个兄弟结点。某树的孩子一兄弟表示如下图所示。以下关于结点D与E的关系的叙述中,正确的是_____。
在程序控制流图中,有8条边,6个节点,则控制流程图的环路复杂性V(G)等于(55)。
______是当前自动化测试技术不能解决的问题。A.保证测试质量B.提高测试效率C.排除手工操作错误D.降低测试用例设计的难度
编写汇编语言程序时,下列寄存器中程序员可访问的是______。A.程序计数器(PC)B.指令寄存器(IR)C.存储器数据寄存器(MDR)D.存储器地址寄存器(MAR)
随机试题
下列批判小市民知识分子的作品是()
论述冯梦龙《杜十娘怒沉百宝箱》中杜十娘的形象。
下述哪些是华支睾吸虫病的发病机制
税务机关在实行税收保全措施和强制执行措施时,下列哪些财产或者物品不在此类措施范围之内?
下列关于房地产经纪人执业资格考试报名条件的表述中,正确的是()。[2009、2008年考试真题]
如题75图所示,容器中盛满空气,容器底和活塞直径分别为D和d,D=2d。活塞上有重量为G的重物,活塞与容器壁的摩擦忽略不计,则容器底部所受内部气压力为()。
公安机关在办理刑事案件时必须以()作为处理案件的依据。
属于内存连续分配方式的是()。
SpeakerA:LookwhatBrucegavemeformybirthday—thisbeautifulscarf.SpeakerB:______.Hemusthavespentquiteabitofm
Scienceisanenterpriseconcernedwithgaininginformationaboutcausality,ortherelationshipbetweencauseandeffect.Asim
最新回复
(
0
)