【C++】合并两个排序的链表,要求合并后仍然是有序的
2015-09-15 17:44
309 查看
struct ListNode { int m_nKey; ListNode m_pNext; }; ListNode* merge(ListNode* pHead1, ListNode* pHead2) { if (pHead1 == NULL) { return pHead2; } if(pHead2 == NULL) { return pHead1; } ListNode* mergedList = NULL; if (pHead1->m_nKey < pHead2->m_nKey) { mergedList = pHead1; mergedList->m_pNext = merge(pHead1->m_pNext, pHead2); } else { mergedList = pHead2; mergedList->m_pNext = merge(pHead2->m_pNext, pHead1); } return mergedList; }递归解法,测试还是分为一般功能测试和特殊测试
相关文章推荐
- 了解隐式接口和编译期的多态(Effective C++_41)
- 使用dlopen和dlsym来使用C++中的类
- vs,c++获取操作系统
- 值得推荐的C/C++框架和库
- 【C++】反转链表
- IOS学习之OC语言BLOCK和协议
- Effective C++——条款39(第6章)
- c/c++获取时间和计算时间差的几种方法总结
- C++内存分配方式——(别人的博客)
- 详解C++中的指针结构体数组以及指向结构体变量的指针
- C/C++学习笔记---primer基础知识
- 引用与指针c++
- C++读取windows系统性能技术器(PDH)
- C语言之内存四区1
- C++虚函数与纯虚函数的区别
- 出学C++之while (std::cin >> value)问题
- C++基本知识总结
- C/C++学习笔记----指针的理解
- C++多态的实现原理
- 冒泡排序的C++实现