马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
数据结构MOOC
PTA习题
02-线性结构1 两个有序链表序列的归并
用p1,p2存储两个头节点。如果都为空直接返回一个空链表
否则选两条链表中第一个较小的值作为新链表第一个结点。
L1,L2后移一下,然后删除两个没有用的头节点
循环遍历,把值小的插入链表中,直到一个链表遍历完。
再把没遍历完的链表插入新链表中,最后返回头节点
- List Merge(List L1,List L2)
- {
- List p1=L1,p2=L2;
- List head=(List)malloc(sizeof(struct Node));
- if(p1->Next==NULL&&p2->Next==NULL)
- {
- head->Next=NULL;return head;
- }
- head->Next=L1->Next->Data>L2->Next->Data?L2->Next:L1->Next;
- List p=head;
- L1=L1->Next;L2=L2->Next;
- p1->Next=NULL;p2->Next=NULL;
- while(L1!=NULL&&L2!=NULL)
- {
- if(L1->Data<L2->Data)
- {
- head->Next=L1;
- head=head->Next;
- L1=L1->Next;
- }
- else
- {
- head->Next=L2;
- head=head->Next;
- L2=L2->Next;
- }
- }
- if(L1)
- head->Next=L1;
- else if(L2)
- head->Next=L2;
- return p;
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |