读书人

合龙有序链表

发布时间: 2013-03-14 10:33:15 作者: rapoo

合并有序链表
合并两个升序链表,要点在于:边界条件判断,即链表可能为空。
剩下的就是依次比较两个链表的头结点,把更小的节点放到新链表中去,继续遍历。算法实现如下:

Node * mergeOrderedLinkedListRecursive(Node *head1, Node *head2){    //边界条件判断    if(null == head1) return head2;    if(null == head2) return head1;    Node *head = null;    if(head1->value < head2->value)    {        head = head1;        head->next = mergeOrderedLinkedListRecursive(head1->next, head2);    }    else    {        head = head2;        head->next = mergeOrderedLinkedListRecursive(head1, head2->next);    }    return head;}


读书人网 >编程

热点推荐