【单链表】两递增链表合并

void MergList(LNode *La, LNode *Lb, LNode *Lc){

    LNode *pa, *pb, *pc;

    pa = La->next;

    pb = Lb->next;

    pc = Lc = La;

    while(pa && pb){

        if(pa->data <= pb->data){ // 小的先挂到Lc上去

            pc->next = pa;

            pc = pc->next;

            pa = pa->next;

        }  

        else{

            pc->next = pb;

            pc = pc->next;

            pb = pb->next;

        }

    }  

    pc->next = pa? pa:pb; // 将剩余的所有节点直接挂到Lc上去

    free(Lb);

}

 

转自 http://www.cnitblog.com/chlclan/archive/2008/10/31/12584.html

你可能感兴趣的:(【单链表】两递增链表合并)