严书数据结构P31算法2.12MergeList-L中 pc->next=pa?pa:pb怎么理解?

问题描述:

严书数据结构P31算法2.12MergeList-L中 pc->next=pa?pa:pb怎么理解?
严蔚敏版 31页算法2.12
题目是归并两个单链表的算法.
void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc) {
pa=La->next; pb=Lb->next;
Lc=pc=La;
while(pa&&pb){
if(pa->data 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);
}//MergeList_
1个回答 分类:综合 2014-10-27

问题解答:

我来补答
while(pa&&pb){...} 表明两个链表都非空,此时根据data的大小来选择.
循环结束后有一个链表已经空了,pc->next=pa?pa:pb;这句话是把剩下非空的那个接到pc后面.
 
 
展开全文阅读
剩余:2000