key:找到链表的中点,将链表一分为二。

 1 link merge_sort(link c){ 2 if(c==0 || c->p_next==0) 3   return c;//空链表、单节点链表 4 link a=c, b=c->p_next; 5 while((b!=0)&&(b->p_next!=0)) 6   { 7     c=c->p_next; 8     b=b->p_next->p_next;//c前进一步的同时,b前进两步 9   }//此时b到达链尾,c停在中点10 b=c->p_next;c->p_next=0;11 return merge(merge_sort(a),merge_sort(b));12 }

转载于:https://www.cnblogs.com/Colin-Z/archive/2012/01/10/2318266.html

链表的自顶向下归并排序相关推荐

  1. 剑指offer77:链表排序(归并排序)

    题目: 给定链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 . 输入:head = [4,2,1,3] 输出:[1,2,3,4] 输入:head = [-1,5,3,4,0] 输出 ...

  2. leetcode 148. Sort List | 148. 排序链表(最优解归并排序,O(1)空间)

    题目 https://leetcode.com/problems/sort-list/ 题解 分析 就链表排序问题来说,它的解法可以有好多种.但它的最优解应该只有一种思路,即从下至上的归并,时间复杂度 ...

  3. 链表的二路归并排序 Sort List

    对于链表的排序问题,想找一种时间复杂度为O(nlogn),空间复杂度O(1)的算法.该问题源自于Leetcode,Sort a linked list in O(n log n) time using ...

  4. 使用插入排序、归并排序对链表进行排序

    /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : ...

  5. LeetCode-148:排序链表

    题目描述: 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 . 进阶: 你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗? 示例: 输入:hea ...

  6. Leetcode-148-排序链表(递归+迭代)

    问题描述: 思路: 拿之前那道"对链表插入排序"的代码可以直接通过,但是不符合题目的要求:时间复杂度控制在O(nlogn),插入排序时间复杂度在o(n^2),又因为此时是对链表不是 ...

  7. leetcode刷题链表

    leetcode刷题链表 反转链表Ⅱ 题目描述将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)O(n),空间复杂度 O(1)O(1).例如: 给出的链表为9 ...

  8. LeetCode-Sort List 链表排序

    原题链接: http://oj.leetcode.com/problems/sort-list/ 对链表进行排序,要求的时间复杂度为O(n log n).nlogn的排序有快速排序.归并排序.堆排序. ...

  9. [PHP] 算法-合并两个有序链表为一个有序链表的PHP实现

    合并两个有序的链表为一个有序的链表: 类似归并排序中合并两个数组的部分 1.遍历链表1和链表2,比较链表1和2中的元素大小 2.如果链表1结点大于链表2的结点,该结点放入第三方链表 3.链表1往下走一 ...

  10. 数据结构栈队列链表数组

    目录: 数据结构 栈(stack) 队列 链表 数组 数据结构 数据结构是什么 简单来说,数据结构就是设计数据以何种方式存储在计算机中 比如:列表,集合,与字典等都是一种数据结构 程序 = 数据结构 ...

最新文章

  1. 53个Python库,你必须要试试
  2. html5简单游戏案例,HTML5存储(带一个粗糙的打怪小游戏案例)
  3. 饿了么上架iPhone 12:最快花呗10分钟拿到手
  4. 前端-requests-flask对应关系 file
  5. redis用lua实现初始值id自增
  6. CIO关注:数字化转型带来的IT版图巨变正在成为新的挑战
  7. Linux 命令整理
  8. iPhone/iPad/iPod touch编程时版本区分
  9. Latex 图注设置(图1:改为图1-1)
  10. 【图床】PicGo配置图片压缩
  11. SprngBoot引用外部jar包和本身日志接口冲突问题解决办法
  12. Flatty Shadow图标自动产生器——在线生成各种扁平化 ICON
  13. OpenCV + CPP 系列(九)颜色空间
  14. Tomcat 中 GET方式 请求 中文乱码 出现的原因
  15. 开源 | 爱奇艺网络流量分析引擎QNSM及其应用
  16. 手机gif图片怎么压缩变小?gif动图怎样缩小?
  17. vector的 resize()和reserve()的区别
  18. 【Python机器学习及实践】进阶篇:模型实用技巧(特征提升)
  19. 可视化色码表--绘图视觉不可或缺的元素
  20. 浙江大学计算机学院 00级,“00”后来了!浙江大学2018级新生报到啦!

热门文章

  1. Js查找数组中元素的位置
  2. 如何设计软件类招聘考题
  3. CreateProcess()无法启动应用?
  4. LINUX SHELL判断文件、目录是否存在
  5. 想买个这样的笔记本电脑
  6. 百度浏览器内核太低,浏览京东有问题
  7. 管理感悟:方案能力与解决问题能力
  8. Windows下编译CMake源码(Opencv源码编译)
  9. 网页英文 错位_网页错位原因解决方法
  10. 驻马店远大计算机阳业学院,电力学院