已知两个顺序表A和B分别表示两个集合,其元素递增排列,编写一个函数求出A和B的交集
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/24 15:58:42
已知两个顺序表A和B分别表示两个集合,其元素递增排列,编写一个函数求出A和B的交集
要用简单的c++写啊,刚学不太会啊
已知两个整数集合A和B,它们的元素分别依元素值递增有序存放在两个单链表HA和HB中,编写一个函数求出这两个集合的并集C,并要求集合C的链表的结点仍依元素值递增有序存放。(提示:求并集不是归并!)
要用简单的c++写啊,刚学不太会啊
已知两个整数集合A和B,它们的元素分别依元素值递增有序存放在两个单链表HA和HB中,编写一个函数求出这两个集合的并集C,并要求集合C的链表的结点仍依元素值递增有序存放。(提示:求并集不是归并!)
由于问题与问题补充不一致,问题是要求交集,是找A和B的相同元素,问题补充里是求并集,强调不是归并,我按并集写的,如果是交集再稍加修改就可以了.
LinkList *LinkMag(LinkList *ha, LinkList *hb)//假设ha和hb是带头结点的链表
{
\x09Link *p, *q, *r,*hc,*aa;
\x09hc->head = (Link*)malloc(sizeof(Link));
\x09p = ha->next;
\x09q = hb->next;
\x09r = hc;
\x09while(p!=NULL && q!=NULL)
\x09{\x09aa = (Link*)malloc(sizeof(Link));
\x09\x09if(p->datadata)//如果是交集的话,没有传递数据,只有指针移动,即只执行p=p->next;就可以了
\x09\x09{\x09aa->data = p->data;
\x09\x09\x09p = p->next;
\x09\x09}
\x09\x09else//如果是交集的话,还要判断等于的情况,只有等于的情况,才有传递数据,而大于的情况与小于情况类似,只有指针移动.
\x09\x09{\x09aa->data = q->data;
\x09\x09\x09q = q->next;
\x09\x09}
\x09\x09r->next = aa;
\x09\x09r = aa;
\x09}
\x09while(p!=NULL)
\x09{\x09aa = (Link*)malloc(sizeof(Link));
\x09\x09aa->data = p->data;
\x09\x09p = p->next;
\x09\x09r->next = aa;
\x09\x09r = aa;
\x09\x09}
\x09while(q!=NULL)
\x09{\x09aa = (Link*)malloc(sizeof(Link));
\x09\x09aa->data = q->data;
\x09\x09q = q->next;
\x09\x09r->next = aa;
\x09\x09r = aa;
\x09\x09}
r->next=NULL;
return hc;
}
LinkList *LinkMag(LinkList *ha, LinkList *hb)//假设ha和hb是带头结点的链表
{
\x09Link *p, *q, *r,*hc,*aa;
\x09hc->head = (Link*)malloc(sizeof(Link));
\x09p = ha->next;
\x09q = hb->next;
\x09r = hc;
\x09while(p!=NULL && q!=NULL)
\x09{\x09aa = (Link*)malloc(sizeof(Link));
\x09\x09if(p->datadata)//如果是交集的话,没有传递数据,只有指针移动,即只执行p=p->next;就可以了
\x09\x09{\x09aa->data = p->data;
\x09\x09\x09p = p->next;
\x09\x09}
\x09\x09else//如果是交集的话,还要判断等于的情况,只有等于的情况,才有传递数据,而大于的情况与小于情况类似,只有指针移动.
\x09\x09{\x09aa->data = q->data;
\x09\x09\x09q = q->next;
\x09\x09}
\x09\x09r->next = aa;
\x09\x09r = aa;
\x09}
\x09while(p!=NULL)
\x09{\x09aa = (Link*)malloc(sizeof(Link));
\x09\x09aa->data = p->data;
\x09\x09p = p->next;
\x09\x09r->next = aa;
\x09\x09r = aa;
\x09\x09}
\x09while(q!=NULL)
\x09{\x09aa = (Link*)malloc(sizeof(Link));
\x09\x09aa->data = q->data;
\x09\x09q = q->next;
\x09\x09r->next = aa;
\x09\x09r = aa;
\x09\x09}
r->next=NULL;
return hc;
}
已知两个顺序表A和B分别表示两个集合,其元素递增排列,编写一个函数求出A和B的交集
已知两个单链表A与B分别表示两个集合,其元素类型为int且递增排列,其头结点指针分别为a,b.编写一个函数求出A和B的交
用c++实现,假设有两个元素递增的有序排列线性表A和B,均以顺序表作存储结构.试编写算法将A表和B表归并成一个按元素值递
两个整数集合A,B,求出他们的交集,并集以及B在A中的余集.交集,并集和余集的计算都要求写成一个单独的函数.
数据结构假设分别以两个元素的值递增有序线性表a,b表示两个集合,现在要构成一个新的线性表c,c表示a b的交,且c中的元
数据结构算法实现:利用两个线性表LA和LB分别表示两个集合A和B,现要求一个新的集合A=A并B.
假设两个顺序线性表La和Lb分别表示两个集合A和B,如何实现A=A ∩B
C语言编程题,利用两个线性表LA和LB分别表示两个集合A和B,现要求一个集合A=A并B
两个集合的交集如果为空集,那么有以下四种情形.(假设两个集合分别为A和B)
集合A和集合B交集
已知 集合A中有两个元素a,a平方,集合B中有两个元素1,b,且A=B,求 a和b
集合A交集合B等于集合B交集合A吗?集合A交集合B是集合A和集合B的子集吗?