题目描述
设有两个单链表A,B,求出A,B的交集元素放到A中
输入
1 4 5 6 7 8
1 3 6 9 10 33
输出
1 6
样例输入
11 14 54 6 4 83
11 3 6 9 10 83
样例输出
11 6 83
参考代码
#include<stdio.h>
typedef struct Lnode
{
int data;
struct Lnode *next;
}
LinkList;
LinkList *creat()
{
int n=6,m;
LinkList *L,*r,*s;
L=(LinkList *)malloc(sizeof(LinkList));
r=L;
while(n>0)
{
scanf("%d",&m);
s=(LinkList *)malloc(sizeof(LinkList));
s->data=m;
r->next=s;
r=s;
n--;
}
r->next=NULL;
return L;
}
LinkList *chang(LinkList *L,LinkList *L1)
{
LinkList *r,*r1;
r=L;
r1=L1;
while(r->next!=NULL)
{
r1=L1;
while(r1->next!=NULL)
{
if(r->next->data==r1->next->data)
{
r1->next=r1->next->next;
r=r->next;
break;
} else if(r1->next->next==NULL)
r->next=r->next->next;
r1=r1->next;
}
}
return L;
}
void output(LinkList *L)
{
LinkList *r;
r=L->next;
while(r!=NULL)
{
printf("%d ",r->data);
r=r->next;
}
}
void destory(LinkList *L)
{
LinkList *p;
p=L;
while(p!=NULL)
{
L=p;
p=p->next;
free(L);
}
}
int main()
{
LinkList *L,*L1;
L=creat();
L1=creat();
L=chang(L,L1);
output(L);
destory(L);
return 0;
}
解析
暂无