leetcode. Insertion Sort List
2014-12-03 22:27
162 查看
Sort a linked list using insertion sort.
链表的插入排序,算法可参看数组插入排序,不同之处在于查找插入点时,链表要从前往后查找。
代码如下:
注意点:
1、使用dummy节点以方便操作
2、当q需要插入到p之前的节点时,p已经指向下一个节点,不需要再使用p = p->next
链表的插入排序,算法可参看数组插入排序,不同之处在于查找插入点时,链表要从前往后查找。
代码如下:
ListNode *insertionSortList(ListNode *head) { ListNode *dummy = new ListNode(INT_MIN), *p, *q, *r; ListNode *new_head; dummy->next = head; p = dummy->next; while (p != NULL) { q = p->next; if (q == NULL) break; for (r = dummy; r->next != q; r = r->next) { if (q->val <= r->next->val) break; } if (r->next == q) { p = p->next; continue; } p->next = q->next; q->next = r->next; r->next = q; } new_head = dummy->next; delete dummy; return new_head; }
注意点:
1、使用dummy节点以方便操作
2、当q需要插入到p之前的节点时,p已经指向下一个节点,不需要再使用p = p->next
相关文章推荐
- [LeetCode]Insertion Sort List
- Leetcode: Insertion Sort List
- leetcode InsertionSort list
- [C++]LeetCode: 126 Insertion Sort List (插入排序链表)
- LeetCode147: Insertion Sort List
- LeetCode | Insertion Sort List
- leetCode(4):Insertion Sort List 分类: leetCode 2015-06-17 09:42 205人阅读 评论(0) 收藏
- [LeetCode]Insertion Sort List
- 【leetcode 链表 】Insertion Sort List
- [LeetCode]Insertion Sort List
- [leetcode]Insertion Sort List
- leetcode_147 Insertion Sort List
- 【leetcode】insertion-sort-list
- leetcode Insertion Sort List
- LeetCode Insertion Sort List 链表的插入排序
- LeetCode | Insertion Sort List
- Insertion Sort List —— Leetcode
- LeetCode:Insertion Sort List (Java)
- [Leetcode] Insertion Sort List (Java)
- LeetCode—Insertion Sort List