您的位置:首页 > 其它

[LeetCode]Insertion Sort List

2014-09-24 15:26 316 查看
题目描述:

Sort a linked list using insertion sort.

解决方案:

该题目就是用插入排序来对链表进行排序,很简单,直接上代码。

class Solution {
public:
ListNode *insertionSortList(ListNode *head) {
ListNode *q = head;
ListNode *temp = new ListNode(0);
temp->val = INT_MIN;
temp->next = NULL;
ListNode *p = temp;
ListNode * pre = NULL;
ListNode *k = NULL;
ListNode *f = NULL;
while (q != NULL) {
f = q;
q = q->next;
k = temp;
while(1) {
if (k == NULL) {
f->next = NULL;
pre->next = f;
break;
}
if (f->val < k->val) {
f->next = pre->next;
pre->next = f;
pre = k;
break;
}
pre = k;
k = k->next;
}
pre = NULL;
}
p = temp->next;
temp->next = NULL;
delete temp;
return p;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: