归并排序(链表结构)
如果需要归并的两个有序对象都是通过链表实现的,
可以使用递归的方式进行归并。
链表节点
struct ListNode
{int nData;ListNode* pNext;
};
归并排序
ListNode* MergeSort(ListNode* pHead1, ListNode* pHead2)
{if (NULL == pHead1)return pHead2;else if (NULL == pHead2)return pHead1;ListNode* pNewHead = NULL;if (pHead1->nData < pHead2->nData){pNewHead = pHead1;pNewHead->pNext = MergeSort(pHead1->pNext, pHead2);}else{pNewHead = pHead2;pNewHead->pNext = MergeSort(pHead1, pHead2->pNext);}return pNewHead;
}
详细内容可以参考:
剑指offer:面试题17:合并两个排序的链表
归并排序(链表结构)相关推荐
- php要求掌握链表结构吗,PHP 链表结构之单链表(一)
php链表结构,单链表(一) 单链表结构,我们这边定义一个节点类,属性有当前值(data)和指向下一个节点的(next) class ListNode { public $data = NULL; p ...
- javascript中的链表结构—双向链表
1.概念 上一个文章里我们已经了解到链表结构,链表的特点是长度不固定,不用担心插入新元素的时候新增位置的问题.插入一个元素的时候,只要找到插入点就可以了,不需要整体移动整个结构. 这里我们了解一下双向 ...
- 【python】关于python的链表结构实现
[参考] [https://blog.csdn.net/weixin_37728031/article/details/81145258][注意链表结构,节点包括数值和next.链表中的head] [ ...
- Java实现链表结构的具体代码
一.数据准备 1. 定义节点 2. 定义链表 1.数据部分 2.节点部分 class DATA //数据节点类型 {String key;String name;int age; } class ...
- 二叉树链表结构表示法
二叉树链表的结构声明: struct tree { int data; struct tree *left; stryct tree *right; }; typedef struct tree t ...
- linux内核杂记(18)-内核链表结构(2)
1.内核需要记录链表头,这样,在不知道prev和next,也不知道结构中的list_head类型的成员 地址的情况下,可以找到链表和链表结构嵌入的数据.比如以下形式: static LIST_HEAD ...
- linux内核杂记(17)-内核链表结构(1)
1.链表有单向链表和双向链表.单向链表只可从首结点访问到尾结点,每个节点只有后结点的链接:双向链表,每个节点有前后结点的链接,可从首到尾,也可从尾到首访问. 2.链表有环形链表和非环形链表.非环形链表 ...
- 浅谈:数据结构之双链表结构与代码模拟双链表的实现
双链表 本文是观看尚硅谷韩老师数据结构与算法根据老师讲解自己做的笔记,部分信息收集网络 与单链表区别 逻辑上没有区别.他们均是完成线性表的内容.主要的区别是结构上的构造有所区别. 对于单链表: 对于一 ...
- 《数据结构》c语言版学习笔记——单链表结构(线性表的链式存储结构Part1)
线性表的链式存储结构 数据结构系列文章 第二章 单链表结构 文章目录 线性表的链式存储结构 前言 一.单链表的建立 代码 二.单链表的读取 代码 三.单链表的插入 代码 四.单链表的删除 代码 五.单 ...
- python链表和树实验报告_关于Python实现树结构和链表结构的一点想法
关于Python实现树结构和链表结构的一点想法 Python由于内置的数据结构具有很高的灵活性,所以可以用很多种方式来构建树.图.链表等结构 1. 树的Python实现 python自然可以使用cla ...
最新文章
- 今日头条的面试题(部分)
- 无法定位软件包_使用Degraph管理软件包依赖关系
- array_reduce() 与 array_map()
- centos7安装nvidia驱动
- JRockit – JRCMD有用的命令
- mybatis学习(6):IntelliJ IDEA 如何创建一个普通的 Java 项目,及创建 Java 文件并运行
- 4 插件模块_设计师必备的ps插件推荐
- 学VBSCRIPT从学起
- 测试用例管理工具_检测Bug很难吗?推荐优质的测试管理工具
- java集合框架(set)
- POJ1062 昂贵的聘礼(最短路径)
- 2022牛客寒假算法基础集训营3 签到题7题(附基础集训营1-3签到题总结)
- javascript获取网址参数
- Blender学习笔记:齿轮模型建立
- 嵌入式应用软件开发的步骤流程
- Python实现定时发邮件
- 浏览器Debugger
- 全球与中国膏体涂抹器市场深度研究分析报告
- QueryDSL 自定义返回结果集类型
- ubuntu16.04+七彩虹GTX1060的NVIDIA驱动+Cuda8.0+cudnn5.1+tensorflow+keras搭建深度学习环境【学习笔记】【原创】