leetcode 名单 Insertion Sort List
2015-09-17 12:48
344 查看
Insertion Sort List
Total Accepted: 24444 TotalSubmissions: 96639My Submissions
Sort a linked list using insertion sort.
题意:用插入排序对一个链表排序
思路:
插入排序对当前元素在前面已经排好的元素中找到一个位置把它插入
能够设置一个指向头节点的dummy元素。统一操作
注:链表中的交换节点操作,不能简单地仅仅交换节点里的value。由于value有可能是非常复杂的类,那样要调用拷贝构造函数、赋值函数,比較费时间。
复杂度:时间O(n^2),空间O(1)
ListNode *insertionSortList(ListNode *head) { if(!head) return NULL; ListNode dummy(-1); dummy.next = head; ListNode *cur = head->next; head->next = NULL; while(cur){ ListNode *cur_next = cur->next; ListNode *pos = &dummy; while(pos->next != NULL && pos->next->val <= cur->val){ pos = pos->next; } ListNode *tem = pos->next; pos->next = cur; cur->next = tem; cur = cur_next; } return dummy.next; }
相关文章推荐
- 设计模式之模板方法模式、策略模式、命令设计模式
- 动态加载
- 如何通过微信引流 让天猫店新品单日销售8000单?
- myeclipse tomcat启动项目出现 内存溢出
- Linux系统启动01-基本概念
- ZJUT 1587 日期滚动条 (博弈)
- C语言的一些习题
- .NET基础--Contains用法
- Android 反编译工具备忘
- OpenGL教程翻译 第十八课 漫反射光
- 写给自己的面试答案
- CMM与TMM讲解
- Raising Bacteria
- 配色教程,学习RGB配色,最简单的配色基础。
- 方法二:请将你班学生的姓名与考试分数录入到Map中,并按分数从高到低在控制台上打印出来。
- Voltage Translation for Analog to Digital Interface ADC
- Qt 学习之路:坐标系统
- mongodb的权限操作
- MDT 2013 Update 1预览版升级到正式版
- tomcat传输压缩 gzip