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 加了*表示 后来发生变化而已。

2613

被折叠的 条评论
为什么被折叠?



