`
zhangziyueup
  • 浏览: 1160969 次
文章分类
社区版块
存档分类
最新评论

合并两个有序链表

 
阅读更多

Node * Merge(Node *head1 , Node *head2)

{

if (head1 == NULL)

return head2;

if (head2 == NULL)

return head1;

Node *head, *p1, *p2;

if (head1->data < head2->data)

{

head = head1;

p1 = head1->next;

p2 = head2;

}

else

{

head = head2;

p2 = head2->next;

p1 = head1;

}

Node *pcurrent = head;

while (p1 != NULL && p2 != NULL)

{

if (p1->data <= p2->data)

{

pcurrent->next = p1;

pcurrent = p1;

p1 = p1->next;

}

else

{

pcurrent->next = p2;

pcurrent = p2;

p2 = p2->next;

}

}

if (p1 != NULL)

pcurrent->next = p1;

if (p2 != NULL)

pcurrent->next = p2;

return head;

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics