void MergeList(LinkList La,LinkList * Lb,LinkList * Lc) /**/ /* 算法2.12 */ ... { /**//* 已知单链线性表La和Lb的元素按值非递减排列。 */ /**//* 归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列 */ LinkList pa=La->next,pb=(*Lb)->next,pc; *Lc=pc=La; /**//* 用La的头结点作为Lc的头结点 */ while(pa&&pb) if(pa->data<=pb->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); /**//* 释放Lb的头结点 */ Lb=NULL; } 上次微软电话面试,我没有回答上来。。。呜呜 注: LinkList La,LinkList * Lb,LinkList * Lc 加了*表示 后来发生变化而已。