早教吧作业答案频道 -->数学-->
已知两个链表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
{ //找出有序单链表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和分别表示两个...的网友还看了以下:
图书馆买回单价分别是70元,30元,20元的图书共付2120元1)图书馆买回单价分别是70元,30 2020-04-09 …
爸爸买了3包茶叶,付出a元,每包x元.如果x=180,a=600,那么应找回多少元?请列出方程爸爸 2020-04-27 …
买水果.(1)李叔叔买了3箱桃和1挂香蕉,一共花了多少元?(2)陈阿姨买了8挂香蕉,给售货员200 2020-05-13 …
下面是学习了化学第二单元课题3后,进行“高锰酸钾制取氧气和氧气性质”的探究,请你回忆并回答下列探究 2020-05-14 …
2008年10月我国发行了三年期国债和五年期国债,年利率分别是5.53%和5.98%,并免征利息税 2020-06-30 …
买生活用品.(1)周阿姨买了一卷卫生纸和一条毛巾,一共花了多少元?(2)于阿姨买了8卷卫生纸,她给 2020-07-04 …
(1)买两件衬衣需要多少钱?(2)买一辆自行车和5个足球共多少元?(3)买两件外套,付500元应找 2020-07-11 …
这是一个机会主义与现实主义的社会问题.请大家多多回答,认真回答,并说出自己的心路历程.在下谢过.A: 2020-11-22 …
小明拿着100元人民币去商店买文具,回来后数了数找回来的人民币有4张不同币值的纸币,4枚不同的硬币. 2020-12-31 …
小明拿着100元人民币去商店买文具,回来后数了数找回来的人民币有4张不同币值的纸币,4枚不同的硬币. 2020-12-31 …