您的位置:首页 > 编程语言

编程实现合并两个有序单链表

2016-12-11 18:37 369 查看
  
Node* Merge2(Node* head1, Node* head2)
{
Node* res,*ret;
if(head1 == NULL) return head2;
if(head2 == NULL) return head1;
Node* p = head1;
Node* q = head2;

if(p->value < q->value)
{
res = p;
p = p->next;
}
else
{
res = q;
q = q->next;
}
ret = res;
while(p && q)
{
if(p->value < q->value)
{
res->next = p;
res = p;
p = p->next;
}
else
{
res->next = q;
res = q;
q = q->next;
}
}
while(p)
{
res->next = p;
res = p;
p = p->next;
}
while(q)
{
res->next = q;
res = q;
q = q->next;
}
return ret;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: