博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nlog(n)归并链表
阅读量:5775 次
发布时间:2019-06-18

本文共 1569 字,大约阅读时间需要 5 分钟。

例如:

list             1 3 5 7 9 2 4 6 8 

 

level[20]    20层

 

1.   level[0]   1

2.   level[0]   NULL

      level[1]   1 3 

3    level[0] 5

      level[1] 1 3

4    level[0] NULL

      level[1] NULL

      level[2] 1 3 5 7

5    level[0] 9

      level[1] NULL

      level[2] 1 3 5 7

6    level[0] NULL

      level[1] 2 9

      level[2] 1 3 5 7

7    level[0] 4

      level[1] 2 9

      level[2] 1 3 5 7

8    level[0] NULL

      level[1] NULL

      level[2] NULL

     level[3]  1 2 3 4 5 6 7 9

9   level[0] 8

      level[1] NULL

      level[2] NULL

     level[3]  1 2 3 4 5 6 7 9

 

最后再一次总的归并

1 2 3 4 5 6 7 8 9 

 

class Solution {public:	ListNode* level[20];	ListNode* sortList(ListNode* head) {		if (head == NULL)return NULL;		ListNode* cur = head;		while (cur != NULL)		{			int i = 0;			ListNode* cc = cur;			cur = cur->next;			cc->next = NULL;			while (level[i] != NULL) {				//归并level[i]和cc				cc = mar(level[i], cc);				level[i] = NULL;				i++;			}			level[i] = cc;		}		vector
lev; for (int i = 0; i < 20; i++) { if (level[i]) lev.push_back(i); } for (int i = 1; i < lev.size(); i++) { level[lev[0]] = mar(level[lev[0]], level[lev[i]]); } return level[lev[0]]; } //归并a,b ListNode* mar(ListNode* a, ListNode* b) { ListNode ret(0); ListNode* cur = &ret; while (a || b) { if (a && b) { bool alessb = (a->val < b->val); cur->next = alessb ? a : b; if (alessb) a = a->next; else b = b->next; cur = cur->next; } else if (a) { cur->next = a; cur = cur->next; a = a->next; } else { cur->next = b; cur = cur->next; b = b->next; } } cur->next = NULL; return ret.next; }};

  

转载于:https://www.cnblogs.com/creativityroom/p/6808504.html

你可能感兴趣的文章
基础,基础,还是基础之JAVA基础
查看>>
如何成为一个C++高级程序员
查看>>
我的友情链接
查看>>
显式锁(第十三章)
查看>>
看linux书籍做的一些重要笔记(2011.07.03更新)
查看>>
从案例学RxAndroid开发(上)
查看>>
Redis学习手册(内存优化)
查看>>
浅尝TensorFlow on Kubernetes
查看>>
springboot系列十 Spring-Data-Redis
查看>>
excel进行矩阵计算
查看>>
基于Android平台的动态生成控件和动态改变控件位置的方法
查看>>
iOS: Block的循环引用
查看>>
MySQL类型转换
查看>>
变量声明提升1
查看>>
树莓派下实现ngrok自启动
查看>>
MachineLearning-Sklearn——环境搭建
查看>>
通过XAML Islands使Windows桌面应用程序现代化
查看>>
Javascript 深入浅出原型
查看>>
Apache下.htaccess文件配置及功能介绍
查看>>
Magento XML cheatsheet
查看>>