该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#define N1 10
#define N2 10
struct list{
int date ;
struct list *next;
};
main()
{
struct list *p1,*p2,*p3,*p4,*head,*head1,*head2,*p;
int n=0;
head1=head2=NULL;
p1=p2=(struct list *)malloc(sizeof(struct list));
p1->date=n;
while(n
{
n++; if (n==1) head1=p1;
p2->next=p1; p2=p1;
p1=(struct list *)malloc(sizeof(struct list));
p1->date=n;
}
p2->next=NULL;
p1=p2=(struct list *)malloc(sizeof(struct list));
p1->date=n;
while(n
{
n++; if (n==N1+1) head2=p1;
p2->next=p1; p2=p1;
p1=(struct list *)malloc(sizeof(struct list));
p1->date=n;
}
p2->next=NULL;
p=head1;
do
{
printf("%3d",p->date);
p=p->next;
} while(p->next!=NULL);
printf("%3d",p->date);
printf("\n");
p=head2;
do
{
printf("%3d",p->date);
p=p->next;
} while(p->next!=NULL);
printf("%3d",p->date);
printf("\n");
getch();
p1=head1;
p2=head2;
head=head1;
while (p1->next!=NULL && p2->next!=NULL)
{
p3=p1->next;
p4=p2->next;
p1->next=p2;
p2->next=p3;
p1=p3;p2=p4;
}
if (p1->next==NULL && p2->next==NULL) {p1->next=p2; p2->next==NULL;}
else if (p1->next==NULL && p2->next!=NULL) p1->next=p2;
else if (p2->next==NULL && p1->next!=NULL) {p3=p1->next;p1->next=p2;p2->next=p3;}
p=head;
do
{
printf("%3d",p->date);
p=p->next;
} while(p->next!=NULL);
printf("%3d",p->date);
getch();
}