單鏈表的合併【去重】
阿新 • • 發佈:2019-01-07
//-------2個有序單鏈表的合併------
void Mergelist_L(LinkList &LA,LinkList &LB,LinkList &LC) { pa=LA->next;pb=LB->next; LC=LA; LinkList pc=LC; while(pa&&pb) { if(pa->data<pb->data) { pc->next=pa; pc=pa; pa=pa->next; } else if(pa->data>pb->data) { pc->next=pb; pc=pb; pb=pb->next; } else if(pa->data==pb->data) { pc->next=pa; pc=pa; pa=pa->next; pb=pb->next; } } while(pa)//如果pa不為空 { if(pc->data<pa->data) { pc->next=pa; pc=pa; } pa=pa->next; } while(pb)//pb不為空 { if(pc-data<pb->data) { pc-next=pb; pc=pb; } pb=pb-next; } free(LB);//釋放LB的空間 }