杨过丶安慕希 发表于 2018-11-12 15:03:59

链表的有序合并

已知有两个链表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);
}

HOHD 发表于 2018-11-12 15:37:04

编这个报错了吗?
页: [1]
查看完整版本: 链表的有序合并