这是我的代码
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
typedef int ElemType;
typedef struct Node
{
ElemType data; /存储结点数据/
struct Node *next; /指向下一个结点的指针/
}Node, *LinkList; /定义单链表类型/
LinkList MergeLinkList(LinkList LA,LinkList LB);
int main()
{
Node a[4]{0,&a[1],1,&a[2],3,&a[3],5,NULL};
Node b[6]{0,&b[1],3,&b[2],4,&b[3],6,&b[4],8,&b[5],10,NULL};
Node *p;
LinkList LA,LB,LC;
LA=a;
LB=b;
LC=MergeLinkList(LA,LB);
p=LC->next;
while(p!=NULL)
{
printf("%5d",p->data);
p=p->next;
}
printf("\n");
void DiffLinkList(LinkList LA,LinkList LB);
{
Node *pre,*p,*q,*r;
pre=LA;
p=LA->next;
while(p!=NULL)
{q=LB->next;
while(q!=NULL&&q->data!=p->data)
q=q->next;
if(q!=NULL)
{r=p;
pre->next=p->next;
p=p->next;
free(r);
}
else
{
pre=p;
p=p->next;
}
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
typedef int ElemType;
typedef struct Node
{
ElemType data; /存储结点数据/
struct Node *next; /指向下一个结点的指针/
}Node, *LinkList; /定义单链表类型/
LinkList MergeLinkList(LinkList LA,LinkList LB);
int main()
{
Node a[4]{0,&a[1],1,&a[2],3,&a[3],5,NULL};
Node b[6]{0,&b[1],3,&b[2],4,&b[3],6,&b[4],8,&b[5],10,NULL};
Node *p;
LinkList LA,LB,LC;
LA=a;
LB=b;
LC=MergeLinkList(LA,LB);
p=LC->next;
while(p!=NULL)
{
printf("%5d",p->data);
p=p->next;
}
printf("\n");
void DiffLinkList(LinkList LA,LinkList LB);
{
Node *pre,*p,*q,*r;
pre=LA;
p=LA->next;
while(p!=NULL)
{q=LB->next;
while(q!=NULL&&q->data!=p->data)
q=q->next;
if(q!=NULL)
{r=p;
pre->next=p->next;
p=p->next;
free(r);
}
else
{
pre=p;
p=p->next;
}
}
}