概述
struct Link *Union(struct Link *head1, struct Link *head2)
{
struct Link *p1 = head1->next, *p2 = head2->next;
struct Link *head, *p, *q;
head = (struct Link *)malloc(sizeof(struct Link));
head->next = NULL;
p = head;
while ((p1 != NULL) && (p2 != NULL))
{
q = (struct Link*)malloc(sizeof(struct Link));
q->next = NULL;
if (p1->data == p2->data)
{
q->data = p1->data;
p1 = p1->next;
p2 = p2->next;
}
else if (p1->data < p2->data)
{
q->data = p1->data;
p1 = p1->next;
}
else
{
q->data = p2->data;
p2 = p2->next;
}
p->next = q;
p = q;
}
if(p1 != NULL){
while(p1 != NULL){
q = (struct* Link)malloc(sizeof(struct Link));
q->next = NULL;
q->data = p1->data;
p1 = p1->next;
p->next = q;
p = q;
}
}else if(p2 != NULL){
q = (struct* Link)malloc(sizeof(struct Link));
q->next = NULL;
q->data = p2->data;
p2 = p2->next;
p->next = q;
p = q;
}
return head;
}
//适用于p1,p2链表都没有重复data的情况
作业帮用户
2017-07-10
举报
最后
以上就是简单唇彩为你收集整理的c语言链表集合求并集用字母表示,c语言给定两个集合A和B,求集合A和集合B的并集。给定两个集合A和B,求集合A和集合B的并集。例如:A={1,2,3},B={2,3,4},则A∪B={1,2,3,4}...的全部内容,希望文章能够帮你解决c语言链表集合求并集用字母表示,c语言给定两个集合A和B,求集合A和集合B的并集。给定两个集合A和B,求集合A和集合B的并集。例如:A={1,2,3},B={2,3,4},则A∪B={1,2,3,4}...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复