标签:单链表的合并
合并单链表 -->
一、解决方法:
确保两个单链表不为空,且二者皆有序(若无序,则先进行排序)
创建新的单链表,并比较原本两个单链表数据大小,较小者置于新单链表中
逐步将两个单链表的数据置于新单链表中,直至二者为空
二、程序代码:
ListNode* MergeList(ListNode *L1,ListNode *L2)//合并两个单链表
{
ListNode *newHead=NULL;
ListNode *tail=NULL;
if(L1==NULL)
{
return L2;
}
if(L2==NULL)
{
return L1;
}
if(L1->_data < L2->_data)
{
newHead=L1;
L1=L1->_next;
}
else
{
newHead=L2;
L2=L2->_next;
}
tail=newHead;
while(L1 && L2)
{
if(L1->_data < L2->_data)
{
tail->_next=L1;
L1=L1->_next;
}
else
{
tail->_next=L2;
L2=L2->_next;
}
tail=tail->_next;
}
if(L1)
{
tail->_next=L1;
}
if(L2)
{
tail->_next=L2;
}
return tail;
}本文出自 “花开彼岸” 博客,请务必保留此出处http://zxtong.blog.51cto.com/10697148/1757698
标签:单链表的合并
原文地址:http://zxtong.blog.51cto.com/10697148/1757698