合并有序链表C++
2016-09-06 22:29
281 查看
/* Author: Victor LV Date: 2016-9-1 11:20 Description: C++ list merge(sort) */ /** * C++:将两个升序排列的链表合并成一个升序排列的链表(不开辟新的链表,直接将原链表重新组合) * 输入:两个list的头指针 * 返回:新的list头指针 */ ListNode* find(ListNode *head1, ListNode *head2) { if(head1 == NULL || head2 == NULL) return NULL; ListNode *newHead = NULL; ListNode *p1 = head1; ListNode *p2 = head2; if(head1->value <= head2->value) { newHead = head1; p1 = p1->next; } else { newHead = head2; p2 = p2->next; } ListNode *ptemp = newHead; while(p1 != NULL && p2 != NULL) { if(p1->value <= p2->value) { ptemp->next = p1; p1 = p1->next; } else { ptemp->next = head2; p2 = p2->next; } } while(p1 != NULL) { ptemp->next = p1; p1 = p1->next; } while(p2 != NULL) { ptemp->next = p2; p2 = p2->next; } return newHead; }
相关文章推荐
- leetcode_[python/C++]_21. Merge Two Sorted Lists(合并有序链表)
- c++ 将两个有序的单链表AB合并到新的单链表C中
- 链表的有序合并相关_C++实现
- c++实现两有序链表合并成一个新链表
- c++实现双向有序链表的,增,删,查,合并
- c++学习笔记:有序链表的合并
- 剑指offer刷题之c++实现的合并两个有序的链表
- C++合并两个有序的单链表
- leetcode_效率题解_[python/C++]_21. Merge Two Sorted Lists(合并2个有序链表)
- 【C++】合并两个排序的链表,要求合并后仍然是有序的
- C++实现两个有序链表合并(17)---《那些奇怪的算法》
- C++经典算法————有序链表合并
- 单链表------合并两个有序链表Ha、Hb到Hc
- 合并有序链表
- K个有序链表共N个结点在O(NlgK)时间合并为一个新的有序链表实现文件C语言
- 一段合并多个有序数组并且升序输出数组元素的C++代码
- 递归实现合并两个有序链表
- 将两个递增的有序链表合并,不分配额外的空间
- 链表逆序、有序合并
- K个有序链表共N个结点在O(NlgK)时间合并为一个新的有序链表头文件C语言