Insertion Sort List 链表插入排序
来源:互联网 发布:手机淘宝客服怎么设置 编辑:程序博客网 时间:2024/05/15 18:32
题目:
Sort a linked list using insertion sort.
解答:
千万不要给链表插入排序啊 真TM的麻烦
先从链表中删除一个节点 然后把被删除节点插入到链表中,关键判断什么时候更新链表的有序尾。。。
代码:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:ListNode *tail;ListNode *insertionSortList(ListNode *head) {if (head == NULL)return head;tail = head;while(tail->next != NULL){ListNode *node = tail->next;tail->next = tail->next->next;head = insert(head, node);}return head;}ListNode* insert(ListNode *head, ListNode *node){if (node->val <= head->val){node->next = head;head = node;}else{ListNode *temp = head;while (1){if ((temp == tail) ||(temp->val < node->val && temp->next->val >= node->val)){node->next = temp->next;temp->next = node;
<span style="white-space:pre"></span>//特别注意在这里更新尾部if (temp == tail)tail = node;break;}else{temp = temp->next;}}}return head;}};
0 0
- Insertion Sort List 链表插入排序
- Insertion Sort List 链表插入排序
- 静态链表插入排序(List Insertion Sort)算法
- Insertion Sort List 链表插入排序@LeetCode
- LeetCode:Insertion Sort List//链表插入排序
- Insertion Sort List ——链表插入排序
- 链表的插入排序 Insertion Sort List
- leetcode Insertion Sort List(链表插入排序)
- LeetCode | Insertion Sort List(插入法排序链表)
- [C++]LeetCode: 126 Insertion Sort List (插入排序链表)
- Leetcode Insertion Sort List 插入排序链表
- Insertion Sort List 链表的插入排序
- LeetCode Insertion Sort List 链表的插入排序
- LeetCode 147 Insertion Sort List(链表插入排序)
- leetcode 147. Insertion Sort List-链表插入排序
- Insertion Sort List 链表的插入排序
- [LeetCode] Insertion Sort List 单向链表插入排序
- LeetCode-147. Insertion Sort List (JAVA)链表插入排序
- hdu 4633 Who's Aunt Zhang 【polya计数】
- Nagios分布式解决方案-Mod Gearman【转载】
- 百钱买百鸡,代码的优化
- leetcode Clone Graph
- hdu 4909 String dp+哈希
- Insertion Sort List 链表插入排序
- [Eage、Eage S系列] 预装Win 8的机型更换Win7及Windows XP如何设置
- HDU 4911 Inversion 解题报告(逆序数)
- 广度优先搜索(算法导论第22章-基本的图算法)
- 常用的APT命令参数
- 动态二维数组
- bzoj1207: [HNOI2004]打鼹鼠
- java的System.getProperty()方法可以获取的值
- Black Box——优先队列