| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
已知有两个链表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(LEN);  
        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)  
{  
    _______________________  
    return head;  
}  
 
struct DATA *insert(struct DATA *head, struct DATA *d)  
{  
    _______________________  
    return head;  
}  
 
struct DATA *sort(struct DATA *head)   
{   
    _______________________  
    return head;  
}   
 
void print(struct DATA *head)  
{  
    struct DATA *p;  
    p=head;  
    while(p!=NULL)  
    {  
        printf("%ld",p->num);  
        p=p->next;  
        printf("\n");  
    }  
}  
 
main()  
{  
    struct DATA *head, *head2;  
    int n;  
    long del_num;  
    scanf("%d",&n);  
    head=create(n);  
    scanf("%d",&n);  
    head2=create(n);  
    head = merge(head, head2);  
    head = sort(head);  
    print(head);  
}  
 
 |   
 
 
 
 |