已知有两个链表a和b,结点类型相同,均包括一个int类型的数据。编程把两个链表合并成一个,结点按升序排列。
#include "stdio.h"
#include "malloc.h"
#define LEN sizeof(struct DATA)struct DATA
{
long num;
struct DATA *next;
};struct DATA *create(int n)
{
struct DATA *head=NULL,*p1=NULL,*p2=NULL;
int i;
for(i=1;i<=n;i++)
{ p1=(struct DATA *)malloc(sizeof(struct DATA));
scanf("%ld",&p1->num);
p1->next=NULL;
if(i==1) head=p1;
else p2->next=p1;
p2=p1;
}
return(head);
}struct DATA *merge(struct DATA *head, struct DATA *head2)
{
struct DATA *p;
p=head;
while(p->next!=NULL) p=p->next;
p->next