首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 函数diff的功能是:根据两个由整数(都大于-32768)按升序构成的单链表L1和L2(分别由A,B指向)构造一个单链表L3(由*r指向),要求13中的所有整数都是L1,并且不
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 函数diff的功能是:根据两个由整数(都大于-32768)按升序构成的单链表L1和L2(分别由A,B指向)构造一个单链表L3(由*r指向),要求13中的所有整数都是L1,并且不
admin
2009-02-15
84
问题
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
函数diff的功能是:根据两个由整数(都大于-32768)按升序构成的单链表L1和L2(分别由A,B指向)构造一个单链表L3(由*r指向),要求13中的所有整数都是L1,并且不是 L2中的整数,还要求L3中的所有整数都两两不等。
【函数】
#include < malloc. h >
typedef struct node {
int d;
struct node * next
} Node;
void diff(Node *A,Node * B,Node * * r)
{
int lastnum;
Node * p;
*r = NULL;
if( ! A) return;
while((1))
if(A->d < B ->d)
{
lastnum =A -> d;
p= ( Node * ) malloc( sizeof(Node) );
p->d = lastnum;
p->next= *r;(2);
do
A = A -> next;
while((3));
}
else if(A->d > B->d)
B=B- >next;
else {
(4);
lastnum=A -> d;
while ( A && A->d = = lastnum) A=A-> next;
}
while(A)
{
lastnum=A->d;
p=( Node * ) malloc( sizeof(Node) );
p-> d = lastnum;
(5);
*r=p;
while (A && A->d = = lastnum) A=A->next;
}
}
选项
答案
(1)A&&B (2)*r=p (3)A&&A->d==lastnum (4)B=B->next (5)p->next=*r
解析
函数的功能在函数说明中已经讲得很清楚了,这里就不再重复。程序的思路是:从链表A取一个元素和链表B中第一个元素进行比较,如果链表A元素小于链表B的元素,则将链表A中元素插入到链表C中,指针后移,在后移时要屏蔽所有相同元素;如果链表A元素大于链表B的元素,将链表B指针后移;如果链表A元素等于链表B的元素,链表A和链表B的指针都向后移,而且要屏蔽链表A中所有相同元素。当链表A和链表B都没有结束时,循环执行上述操作。如果链表B已经到链尾,但链表A没有结束,则将链表A中的剩余元素加入到链表C中,同时也要屏蔽所有相同元素。
根据上面的分析,(1)空处需要填写循环条件,显然是链表A没有结束,而且链表B也没有结束,即“A!=NULL&&B!=NULL”或其等价形式。
(2)空所在的语句块是处理链表A元素小于链表B的元素的情况,需要将链表A中元素插入到链表C中,在它的前一条语句已经把这个结点后继指针指向链表C的第一个结点,这里需要将链表C的第一个结点设置成该结点,即“*r=p”。
(3)空处所在do…while循环的目的是屏蔽所有相同元素,需要写出这个循环的条件,显然是当一个结点的值不等于刚刚插入的结点的值或链表A已经到了链尾时就要退出循环。因此(3)空处应填写“A! =NULL&&A->d==lastnum”及其等价形式。
(4)空所在语句块是处理链表A元素等于链表B元素的情况,链表A和链表B的指针都向后移,而且要屏蔽链表A中所有相同元素。链表A的指针向后移已经写出,因此,(4)空应填写“B=B->next”。
(5)空所在while循环是处理链表B已经到链尾,但链表A没有结束的情况。这时需要将链表A中的剩余元素加入到链表C中,插入的方法和(2)空处所在语句块插入方法一致。(5)空需将要插入结点的指针域指向链表C的头指针*r,因此(5)空处应填写“p->next=*r”。
转载请注明原文地址:https://kaotiyun.com/show/4bjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
(31)________________接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
数据分析工具的(13)________________特性是指它能导入和导出各种常见格式的数据文件或分析结果。
在Excel2010中,A1和B1单元格中的值分别为“12”和“34”,在C1中输入公式“=A1&)。??B1”,按回车键后,则C1中的值为(
假设100个数据的平均值为82.31,其中有10个数据又发生了如下增减变化:+3.52,+2.87,-4.13,+5.34,-2.87,+2.50,-3.52,+4.23,-5.04,+0.10,则新的平均值变为(26)。
在Excel中,设单元格A1中的值为100,B1中的值为200,A2中的值为300,B2中的值为400,若在A3单元格中输入函数“=SUM(A1:B2)”,按回车键后,A3单元格中的值为()。
《信息技术汉字字型要求和检测方法》(GB/T11460一一2009)属于______。
计算机每次启动时自动运行的计算机病毒称为______病毒。
某演示文稿在演示时,需要从第一张幻灯片直接跳转到第五张幻灯片,那么,应在第一张幻灯片上添加(56),并对其进行相关设置。
计算机在接通电源后,系统首先由(41)程序对内部每个设备进行测试。
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。说明某公司内部有一个采用TCP/IP作为传输协议的100BASE-TX局域网,包括1台服务器和20台客户机,通过一台16端口的交换机与一台8端口共享集线器级连,其网络结构如图11所
随机试题
随着土地改革的基本完成,我国社会主义主要矛盾逐步成为()
外感热病极期,邪热深入营血的舌象是( )。
以下药物须孕妇慎用的是()。
根据《废电池污染防治技术政策》,本技术政策所称废电池包括()。
东盛建设公司准备实施一个大型地铁建设项目的施工管理任务。为提高项目组织系统的运行效率,决定设置纵向和横向工作部门以减少项目组织结构的层次。该项目所选用的组织结构模式是()。
某高级酒店,地下1层,地上16层,层高3.1m,建筑总高度为50.7m,总建筑面积为31500m2。市政外网管径为DN300,有两根引入管,管径为DN100,市政水压力为0.3MPa,室外管网可满足室外消防用水量。消防水池的设置应满足什么要求?
甲公司属于工业企业,为增值税一般纳税企业,由A、B、C三位股东于20×3年12月31日共同出资设立,注册资本1000万元。出资协议规定,A、B、C三位股东的出资比例分别为40%、35%和25%。有关资料如下:(1)20×3年12月31日三位股东的出资方
以下说法错误的是()。
请阅读下列材料:材料1:《电子表格的制作》是人教版七年级上册第三单元第9课的内容。其主要包括:Excel的启动与退出;Excel的窗口组成;工作簿、工作表的概念及其关系;单元格的概念及表示:数据的输入和修改等内容。Excel与Word属于同一家族,本身有
树木丛生,_______。_______,洪波涌起。(曹操《观沧海》)
最新回复
(
0
)