Insertion Sort List
2014-08-11 15:11
232 查看
Sort a linked list using insertion sort.
插入排序,从头就把list断开成排好序的和未排序的,未排序的在排好序的list里面找插入位置,插入后,未排序的头指针后移一位
插入排序,从头就把list断开成排好序的和未排序的,未排序的在排好序的list里面找插入位置,插入后,未排序的头指针后移一位
/** * 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) return head; ListNode dummy(-1); dummy.next=head; ListNode *p=dummy.next,*q=head->next; p->next=NULL; while(q){ ListNode* prev=&dummy,*cur=prev->next; while(prev){//寻找插入位置 if(!cur||q->val<=cur->val){ prev->next=q; q=q->next; prev->next->next=cur; break; } else{ prev=cur; cur=cur->next; } } } return dummy.next; } };
相关文章推荐
- LeetCode 147 Insertion Sort List(链表插入排序)
- Insertion Sort List
- [Leetcode]Insertion Sort List
- Leetcode-insertion-sort-list ***
- LeetCode-Insertion Sort List-链表插入排序-链表操作
- Insertion Sort List
- LeetCode Insertion Sort List
- 【LeetCode】Insertion Sort List
- Sort List & Insertion Sort List
- insertion-sort-list
- LeetCode--insertion-sort-list
- Insertion Sort List
- [LeetCode]Insertion Sort List
- LeetCode :: Insertion Sort List [详细分析]
- Insertion Sort List
- LeetCode147_Insertion Sort List(用插入排序算法对链表进行排序) Java题解
- Insertion Sort List
- LeetCode - Insertion Sort List
- 【LeetCode】Insertion Sort List
- LeetCode(147) Insertion Sort List