码迷,mamicode.com
首页 > 其他好文 > 详细

单链表 --- 合并两个单链表

时间:2016-03-28 22:02:07      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:单链表的合并

合并单链表 -->

一、解决方法:

  1. 确保两个单链表不为空,且二者皆有序(若无序,则先进行排序)

  2. 创建新的单链表,并比较原本两个单链表数据大小,较小者置于新单链表中

  3. 逐步将两个单链表的数据置于新单链表中,直至二者为空


二、程序代码:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!