/* A和B是两个带头结点的单链表,其中元素递增有序。 将A和B合并成一个单链表C,使得C中元素非递减。 */ void Merger(LNode *&A,LNode *&B,LNode *&C) { LNode *p = A->next; LNode *q = B->next; LNode *r; C=A; C->next = NULL; free(B); r=C; while(p!=NULL&&q!=NULL) { if(p->data<=q->data) { r->next=p; p=p->next; r=r->next; } else { r->next=q; q=q->next; r=r->next; } } r->next=NULL; if(p!=NULL) { r->next=p; } if(q!=NULL) { q->next=q; } }