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

合并两个有序链表,合并后依然有序

时间:2015-08-26 20:30:08      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:合并两个有序链表   合并后依然有序   

PLinkList Merge(PLinkList pList1, PLinkList pList2)

{

PLinkList pList;

PLinkList end;

if (pList1 == NULL)

{

return pList2;

}


if (pList2 == NULL)

{

return pList1;

}


if (pList1 == pList2)

{

return pList1;

}


// 摘一个节点做为新头节点

if (pList1->data < pList2->data)

{

pList = pList1;

pList1 = pList1->next;

}

else

{

pList = pList2;

pList2 = pList2->next;

}

end = pList;


while (pList1 && pList2)

{

Node* tmp;

if (pList1->data < pList2->data)

{

tmp = pList1;

pList1 = pList1->next;

}

else

{

tmp = pList2;

pList2 = pList2->next;

}


end->next = tmp;

end = tmp;

end->next = NULL;

}


if (pList1)

{

end->next = pList1;

}

if (pList2)

{

end->next = pList2;

}


return pList;

}


合并两个有序链表,合并后依然有序

标签:合并两个有序链表   合并后依然有序   

原文地址:http://10622551.blog.51cto.com/10612551/1688436

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