合并两个单链表为递减有序的单链表

合并两个单链表为递减有序的单链表

LinkList *Connect(LinkList *ha,LinkList *hb)

{
    LinkList *pa=ha->next,*pb=hb->next,*hc,*tc;
    hc=pa;
    hc->next=NULL;
    tc=hc;
    while(pa!=NULL&&pb!=NULL)
    {
        if(pa->data<pb->data)
        {
            tc->next=pa;
            tc=pa;
            pa=pa->next;
        }else if(pa->data>pb->data)
        {
            tc->next=pb;
            tc=pb;
            pb=pb->next;
        }else
        {
            tc->next=pa;
            tc=pa;
            pa=pa->next;
            tc->next=pb;
            tc=pb;
            pb=pb->next;
        }
    }
    tc->next=NULL;
    if(pa!=NULL)tc->next=pa;
    if(pb!=NULL)tc->next=pb;
    return hc;
}

你可能感兴趣的:(null)