List Merge(List L1, List L2)//list是一个node类型的指针
{
List P , tmp , tmp1 , tmp2;
P = (List)malloc(sizeof(struct Node));
P->Next = NULL;
L1 = L1->Next; L2 = L2->Next;
tmp = P;
while(L1 && L2){
if(L1->Data <= L2->Data){
tmp->Next = L1;
tmp = L1;
L1 = L1->Next;
}
else{
tmp->Next = L2;
tmp = L2;
L2 = L2->Next;
}
}
tmp->Next = L1 ? L1 : L2;
L1->Next = NULL;
L2->Next = NULL;
return P;
}
上述代码中L1和L2的next指针已经为null,再次置为null会报错
List Merge(List L1, List L2)
{
List P , tmp , tmp1 , tmp2;
P = (List)malloc(sizeof(struct Node));
P->Next = NULL;
tmp1 = L1->Next; tmp2 = L2->Next;
tmp = P;
while(tmp1 && tmp2){
if(tmp1->Data <= tmp2->Data){
tmp->Next = tmp1;
tmp = tmp1;
tmp1 = tmp1->Next;
}
else{
tmp->Next = tmp2;