
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct node{
int data;
struct node *next;
}CircleList;
void *CreatList(CircleList *head,int n){
CircleList *p,*r;
int i;
head=(CircleList *)malloc(sizeof(CircleList));
head->next=head;
r=head;
printf("%d个数据:\n",n);
while(i++<n){
p=(CircleList *)malloc(sizeof(CircleList));
scanf("%d",&p->data);
r->next=p;
r=p;
p->next=head;
}
return r;
}
void *ConnetList(CircleList *rearA, CircleList *rearB){
CircleList *p;
p=rearA->next;
rearA->next=rearB->next->next;
free(rearB->next);
rearB->next=p;
return rearB;
}
int PrintList(CircleList *head){
CircleList *p=head->next->next;
while(p!=head->next){
printf("%d ",p->data);
p=p->next;
}
printf("\n");
}
int main(){
CircleList *rearA,*rearB,*rearC;
printf("输入表A的");
rearA=CreatList(rearA,5);
PrintList(rearA);
printf("输入表B的");
rearB=CreatList(rearB,5);
PrintList(rearB);
printf("合并表A和表B为表C\n");
rearC=ConnetList(rearA,rearB);
PrintList(rearC);
return 0;
}