#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
};
int main()
{
int m,n;
struct node *h1,*h2,*p1,*p2,*t1,*t2;
h1=(struct node *)malloc(sizeof(struct node));
h1->next=NULL;
t1=h1;
scanf("%d%d",&m,&n);
while(m--)
{
p1=(struct node *)malloc(sizeof(struct node));
scanf("%d",&p1->data);
p1->next=NULL;
t1->next=p1;
t1=p1;
}
h2=(struct node *)malloc(sizeof(struct node));
h2->next=NULL;
t2=h2;
while(n--)
{
p2=(struct node *)malloc(sizeof(struct node));
scanf("%d",&p2->data);
p2->next=NULL;
t2->next=p2;
t2=p2;
}
struct node *h,*t;
h=h1;
t=h1;
p1=h1->next;
p2=h2->next;
free(h2);
while(p1&&p2)
{
if(p1->data<p2->data)
{
t->next=p1;
t=p1;
p1=p1->next;
}
else
{
t->next=p2;
t=p2;
p2=p2->next;
}
if(p1)t->next=p1;
else t->next=p2;
}
t=h->next;
while(t->next)
{
printf("%d ",t->data);
t=t->next;
}
printf("%d",t->data);
return 0;
}
顺序表应用5:有序顺序表归并
最新推荐文章于 2020-03-12 16:48:46 发布