List Merge(List l1,List l2){
List l=(List)malloc(sizeof(struct Node));//新链表的头结点指针,申请空间
List p,p1,p2;//新链表遍历指针,l1,l2链表遍历指针
p=l;
p1=l1->Next;
p2=l2->Next;
while(p1&&p2){
if(p1->Data<p2->Data){
p->Next=p1;
p=p1;
p1=p1->Next;
}
else{
p->Next=p2;
p=p2;
p2=p2->Next;
}
}
while(p1){
p->Next=p1;
p=p->Next;
p1=p1->Next;
}
while(p2){
p->Next=p2;
p=p->Next;
p2=p2->Next;
}
//合并完链表后,应将原链表结点链接清空,空间占用不变
l1->Next=NULL;
l2->Next=NULL;
return l;
}
浙大_数据结构 02-线性结构1 两个有序链表序列的合并
最新推荐文章于 2024-07-13 16:00:03 发布