leetcode:Insert Sort List
来源:互联网 发布:天星择日弧角算法 编辑:程序博客网 时间:2024/05/20 02:30
问题描述
对一个单链表进行插入排序,head指向第一个结点。
代码
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *insertionSortList(ListNode *head) {if(!head||head->next==NULL)return head;ListNode *pstart=new ListNode(0);//添加一个头指针以方便处理,设所有节点数据大于0pstart->next=head;ListNode *preCur=head,*cur=head->next;while(cur!=NULL){ ListNode *prePos=pstart,* pos=pstart->next;while(pos->val<cur->val){prePos=prePos->next;//prePos指向带插入位置的前方pos=pos->next;//pos指向待插入位置的后方}if(pos!=cur){preCur->next=cur->next;cur->next=pos;prePos->next=cur;//preCur不变cur=preCur->next;}else{preCur=cur;cur=cur->next;}}head=pstart->next;delete pstart;return head;}};
时间复杂度
O(N^2),相对于顺序存储减少移动次数。
6 0
- leetcode:Insert Sort List
- [leetcode] Insert sort list
- [leetcode][list][sort] Sort List
- Insertion Sort List | leetcode
- Leetcode: Insertion Sort List
- [LeetCode] Insertion Sort List
- Leetcode: Insertion Sort List
- Leetcode: Sort List
- Sort List | leetcode
- leetcode-Sort List
- leetcode-Insertion Sort List
- LeetCode题解:Sort List
- leetcode 134: Sort List
- [LeetCode]Sort List
- [LeetCode]Insertion Sort List
- [LeetCode] Sort List
- 【LeetCode】Insertion Sort List
- leetCode - Sort List
- opnet的sink模块学习
- Android之adb
- 7.6 动态内存会被自动释放吗?
- 浅析linux中open系统调用
- 源码包、中文doc
- leetcode:Insert Sort List
- Android:仿手机QQ好友动态的ListView
- 玩转web之javaScript(五)---js和jquery一些不可不知的方法(input篇)
- (译)如何在webkit中触发(避免)重排
- 关于使用"/"来 dispatcherServlet 的url-pattern带来的问题
- java核心---面向对象
- 一篇关于su和sudo以及visudo的很好的介绍性文档
- 2. 计算机语言的发展过程
- MFC ADO方法实现SQL Server数据库编程(转载)(2014-05-18)