#include <stdio.h>
#include <malloc.h>
typedef int ElemType;
typedef struct LNode
{ ElemType data;
struct LNode *next;
} LinkNode;
void InitList(LinkNode *&L) //初始化线性表
{ L=(LinkNode *)malloc(sizeof(LinkNode));
L->next=NULL;
}
void CreateListR(LinkNode *L,ElemType a[],int n) //尾插法建立链表
{ LinkNode *s,*r;
r=L;
for(int i=0; i<n; i++)
{ s=(LinkNode *)malloc(sizeof(LinkNode));
s->data=a[i];
r->next=s;
r=s;
}
r->next=NULL;
}
void HeBin(LinkNode *C,LinkNode *A,LinkNode *B) //求A,B链的并集,放在C链中
{ LinkNode *s,*tail,*pa,*pc,*pb;
tail=C; //用tail一直指向C链的最后一个结点
pa=A->next;
while(pa!=NULL) //把A链复制到C链
{ s=(LinkNode *)malloc(sizeof(LinkNode));
s->data=pa->data;
tail->next=s;
tail=s;
pa=pa->next;
}
tail->next=NULL;
pb=B->next; //pb遍历B链
whil
求2个链表的并集
最新推荐文章于 2021-11-24 14:16:41 发布
本文展示了如何使用C语言实现求两个链表的并集。通过初始化链表、尾插法建立链表,然后遍历并合并两个链表,最后输出并集。代码中包含了创建、合并和显示链表的函数。
摘要由CSDN通过智能技术生成