阅读以下说明和C函数,填补C函数中的空缺。 [说明] 函数SetDiff(LA,

题型:填空题

问题:

阅读以下说明和C函数,填补C函数中的空缺。
[说明]
函数SetDiff(LA,LB)的功能是将LA与LB中的共有元素从LA中删除,使得LA中仅保留与LB不同的元素,而LB不变,LA和LB为含头结点的单链表的头指针。
例如,单链表LA、LB的示例如图中的(a)、(b)所示,删除与LB共有的元素后的LA如图中的(c)所示。


链表的结点类型定义如下:
typedef struct Node
int data;
struct Node *next;
Node, *LinkList;
函数SetDiff(LinkList LA,LinkList LB)的处理思路如下:
(1)从LA的第一个元素结点开始,令LA的第一个元素为当前元素;
(2)在LB中进行顺序查找,查找与LA的当前元素相同者,方法是:令LA的当前元素先与LB的第一个元素进行比较,若相等,则结束在LB中的查找过程,否则继续与LB的下一个元素比较,重复以上过程,直到LB中的某一个元素与LA的当前元素相等(表明查找成功),或者到达LB的表尾(表明查找失败)为止;
(3)结束在LB表的一次查找后,若在LB申发现了与LA的当前元素相同者,则删除LA的当前元素,否则,保留LA的当前元素;
(4)取LA的下一个元素为当前元素,重复(2)、(3),直到LA的表尾。
[C函数]
void SetDiff(LinkList LA,LinkList LB)

LinkList pre,pa,pb;
/*pa用于指向单链表LA的当前元素结点,pre指向pa所指元素的前驱*/
/*pb用于指向单链表LB的元素结点*/
______;/*丌始时令pa指向LA的第一个元素*/
pre=LA;
while (pa)
pb=LB->next;
/*在LB中查找与LA的当前元素相同者,直到找到或者到达表尾*/
while(______)
if(pa->data==pb->data)
break;
______;

if(!pb)
/*若在LB中没有找到与LA中当前元素相同者,则继续考察LA的后续元素*/
pre=pa;
pa=pa->next;

else
/*若在LB中找到与LA的当前元素相同者,则删除LA的当前元素*/
pre->next=______;
free(pa);
pa=______;



考点:计算机软件水平考试初级程序员程序员
题型:填空题

下列性状中,不属于相对性状的是 [ ]

A.人的身高与体重

B.猪的白毛与黑毛

C.豌豆的高茎与矮茎

D.果蝇的长翅与残翅

题型:填空题

患儿,男,8岁。因流行性乙型脑炎入院治疗,后因呼吸衰竭给予呼吸机辅助呼吸。患儿最有可能发生的并发症是()

A.压疮

B.支气管肺炎

C.肺不张

D.尿路感染

E.败血症

题型:填空题

多寐的病位在()

A.心

B.肝

C.脾

D.肾

E.脑

题型:填空题

银行业金融机构有下列()情形之一,由国务院银行业监督管理机构责令改正,并处二十万元以上五十万元以下罚款;构成犯罪的,依法追究刑事责任。

A、未经任职资格审查任命董事、高级管理人员的

B、拒绝或者阻碍非现场监管或者现场检查的

C、提供虚假的或者隐瞒重要事实的报表、报告等文件、资料的

D、未按照规定进行信息披露的;严重违反审慎经营规则的

题型:填空题

属于煤矿安全监察的重点内容有()。

A.是否建立、健全安全生产责任制

B.是否对各类职工进行安全生产教育培训

C.生产性建设项目是否做到“三同时”

D.是否为职工办理工伤保险

E.领导是否重视安全生产工作

更多题库