合并两个单链表(链表方式)
Posted 要有梦想
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并两个单链表(链表方式)相关的知识,希望对你有一定的参考价值。
假设头指针为La、Lb单链表分别为线性表LA、LB的存储结构,现在要合并La、Lb得到单链表Lc
void MergeList_L(LinkList La, LinkList Lb, LinkList Lc){ //已知La、Lb的元素按值非递减排列 //归并La、Lb得到单链表Lc,Lc的元素也是按值非递减排列的 LinkList pa,pb,pc; pa = La->next; pb = Lb->next; Lc = pc = La;//用La的头结点作为Lc的头结点 while(La && Lb){ if(La->data<=Lb->data){ pc->next = pa; pc = pa; pa = pa->next; } else{ pc->next = pb; pc = pb; pb = pb->next; } } pc->next = pa?pa:pb;//插入剩余段 free(Lb); }
以上是关于合并两个单链表(链表方式)的主要内容,如果未能解决你的问题,请参考以下文章