习题2.5 两个有序链表序列的合并 (15分)
List Merge( List L1, List L2 ){
List L1move=L1,L2move=L2->Next;
if(!L1) return L2;
if(!L2) return L1;
while(L1move->Next && L2move){
List L2set;
while(L1move->Next && L2move && L1move->Next->Data<L2move->Data){
L1move=L1move->Next;
}
L2set=L2move->Next;
L2move->Next=L1move->Next;
L1move->Next=L2move;
L2move=L2set;
}
List L=(List)malloc(sizeof(struct Node));
L->Next=L1->Next;
L2->Next=L1->Next=NULL;
return L;
}
思路:将L2接到L1上去,找到了再接,而不是像其他博主一样,两边对比后一个一个地接。