#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int date;
node *next;
}node;
void inlist1(node *La)
{
node *s,*p=La;
int a;
printf("请输入链表值La个数:");
scanf("%d",&a);
printf("请输入链表值La:");
for(int i=1;i<=a;i++)
{
int e;
scanf("%d",&e);
s=(node *)malloc(sizeof(node));
s->date=e;
p->next=s;
p=s;
}
p->next=La;
}
void inlist2(node *Lb)
{
node *s,*p=Lb;
int a;
printf("请输入链表值Lb个数:");
scanf("%d",&a);
printf("请输入链表值Lb:");
for(int i=1;i<=a;i++)
{
int e;
scanf("%d",&e);
s=(node *)malloc(sizeof(node));
s->date=e;
p->next=s;
p=s;
}
p->next=Lb;
}
void he(node *La,node *Lb)
{
node *p,*q;
p=La;
q=Lb;
while(p->next!=La)
p=p->next;
while(q->next!=Lb)
q=q->next;
q->next=La;
p->next=Lb->next;
p=La;
free(Lb);
while(p->next!=La)
{
p=p->next;
printf("%d ",p->date);
}
printf("\n");
}
int main()
{
node *La;
La=(node *)malloc(sizeof(node));
node *Lb=(node *)malloc(sizeof(node));
inlist1(La);
inlist2(Lb);
he(La,Lb);
return 0;
}
#include<stdlib.h>
typedef struct node
{
int date;
node *next;
}node;
void inlist1(node *La)
{
node *s,*p=La;
int a;
printf("请输入链表值La个数:");
scanf("%d",&a);
printf("请输入链表值La:");
for(int i=1;i<=a;i++)
{
int e;
scanf("%d",&e);
s=(node *)malloc(sizeof(node));
s->date=e;
p->next=s;
p=s;
}
p->next=La;
}
void inlist2(node *Lb)
{
node *s,*p=Lb;
int a;
printf("请输入链表值Lb个数:");
scanf("%d",&a);
printf("请输入链表值Lb:");
for(int i=1;i<=a;i++)
{
int e;
scanf("%d",&e);
s=(node *)malloc(sizeof(node));
s->date=e;
p->next=s;
p=s;
}
p->next=Lb;
}
void he(node *La,node *Lb)
{
node *p,*q;
p=La;
q=Lb;
while(p->next!=La)
p=p->next;
while(q->next!=Lb)
q=q->next;
q->next=La;
p->next=Lb->next;
p=La;
free(Lb);
while(p->next!=La)
{
p=p->next;
printf("%d ",p->date);
}
printf("\n");
}
int main()
{
node *La;
La=(node *)malloc(sizeof(node));
node *Lb=(node *)malloc(sizeof(node));
inlist1(La);
inlist2(Lb);
he(La,Lb);
return 0;
}