严书数据结构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_
天若88 1年前 已收到3个回答 举报

嘘我是小静 幼苗

共回答了21个问题采纳率:90.5% 举报

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

1年前

8

wolfmore 幼苗

共回答了1个问题 举报

#include
#include
typedef int ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
int InitList_L(LinkList &L){
...

1年前

1

ouyangsd 幼苗

共回答了1个问题 举报

#include
#include
typedef int ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
int InitList_L(LinkList &L){
...

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.012 s. - webmaster@yulucn.com