首页 > 其他 > 详细

两个有序链表合并

时间:2014-05-18 02:59:02      阅读:374      评论:0      收藏:0      [点我收藏+]

好多人都是为了找实习、找工作,看看思路,手写下这个问题的代码。如果有机会还是最好真正调试一下,还是有很多细节需要注意的。不多说了,代码记录如下:

	Node* Merge(Node *h1,Node *h2)
	{
		Node *head,*pCurrent,*head1,*head2;
		head1 = h1;
		head2 = h2;
		if(head1==NULL)
			return head2;
		else if(head2==NULL)
			return head1;		
		
		head = head1->value < head2->value ? head1 : head2;
		if (head == head1)
			head1=head1->next;
		else 
			head2=head2->next;
		pCurrent = head;
		while(head1!= NULL && head2!=NULL)
		{
			if(head1->value <= head2->value)
			{	
				pCurrent->next = head1;
				pCurrent = pCurrent->next;
				head1 = head1->next;
				continue;
			}
			
			if(head1->value > head2->value)
			{
				pCurrent->next =head2;
				pCurrent = pCurrent->next;
				head2 = head2->next;
				continue;
			}
		}
		if(head1==NULL)
		{
			pCurrent->next = head2;
		}
		else if(head2 == NULL)
		{
			pCurrent->next = head1;
		}
		return head;
	};


两个有序链表合并,布布扣,bubuko.com

两个有序链表合并

原文:http://blog.csdn.net/dalongyes/article/details/26056641

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!