C语言数据结构基础问题:两个有序链表并为一个有序链表
void MergeList_L(LinkList &La LinkList &Lb LinkList &L)
{
pa=La->next;
pb=Lb->next;
Lc=pc=La;
while(pa&&pb)
{
if(pa->data<=pa->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);
}
题意说pa pb分别为链表La Lb当前带比较插入的结点,pc是Lc的最后一个结点。
我不明白的是:
pc->next=pa;
pc=pa;
这两个语句。为什么把Lc的第一个结点和头结点都连上pa?