早教吧 育儿知识 作业答案 考试题库 百科 知识分享

已知两个链表A和分别表示两个集合,其元素递增排列,请设计算法求出A与B的差集,并存放在A中,同时返回该集合元素的个数.

题目详情
已知两个链表A和分别表示两个集合,其元素递增排列,请设计算法求出A与B的差集,并存放在A中,
同时返回该集合元素的个数.
▼优质解答
答案和解析
int purge_L(LinkList &La,List Lb)
{ //找出有序单链表La和Lb中不同的元素,存放在La中,返回La中元素个数
LNode *pa,*pb,*p,*deb;
int count=0;
p=La;
pa = La->next;
pb = Lb->next;
while ( pa && pb )
{
if ( pa->data < pb->data )
{ // 如果 pa->datadata
p->next = pa; p = pa; pa = pa->next;
}
else if(pa->data== pb->data)
{
p->next=pa->next;
free(pa);
pa=p->next;
deb=pb;
pb=pb->next;
free(deb);
}
else{
p->next = pb; p = pb; pb = pb->next;
}
count++;
}
// 插入剩余段
if(pa)
{
p->next = pa ;
while(pa)
{
count++;
pa=pa->next;
}
}else{
p->next = pb ;
while(pb)
{
count++;
pb=pb->next;
}
}
free (Lb); // 释放 Lb 的头结点
return count;
} // purge_L
看了 已知两个链表A和分别表示两个...的网友还看了以下:

单片机编程计算分别计算内存单元(外存单元,ROM单元)40H—4FH的和,并将结果存  2020-05-14 …

公司合并可以采取的两种方式是()。A.存续合并和派生合并B.吸收合并和派生合并C.新设合并和存续  2020-05-26 …

一.我会填.1.我们已经学过的统计图有()统计图和()统计图.2.为了便于比较,我们常常将两个单式  2020-06-12 …

堆肥过程发生的变化是()A.无机物合成有机物,并且存能量B.无机物合成有机物,并且释放能量C.有机  2020-06-17 …

审计学的一道不会的大题审计人员在审计过程中发现被审计单位存在下列情况,分别指出审计人员通常应发表何  2020-06-30 …

王老师有现金3万元,按定期存入银行,存二年.请你给王老师设计两种存款方案,并分别计算出每种方案到期后  2020-11-06 …

20世纪90年代,Cuenoud等发现DNA也有酶催化活性.他们根据共有序列设计并合成了由47个核苷  2020-11-20 …

由我国自主开发的艾滋病病毒膜融合抑制剂西夫韦肽已顺利完成Ⅱb期临床试验.西夫韦肽是依据艾滋病病毒(H  2020-11-24 …

科学家设计并合成了由47个核苷酸组成的单链DNA--E47,它可以催化两个底物DNA片段之间的连接.  2020-11-28 …

同一项存货中有合同部分和无合同部分计提的存货跌价准备不得相互抵消同一项存货中一部分有合同约定,其他部  2020-12-21 …