Insertion Sort List
问题描述:使用插入排序对链表进行排序。
问题解决:简单的插入排序方法。
class Solution {
public:
ListNode* insertionSortList(ListNode* head) {
ListNode *add=new ListNode(0);
add->next=head;
ListNode *flag=add,*pre=add,*cur=head;
while(cur!=NULL)
{
while(flag->next!=cur)
{
if(cur->val < flag->next->val)
{
pre->next=cur->next;
cur->next=flag->next;
flag->next=cur;
cur=pre->next;
break;
}
else
{
flag=flag->next;
}
}
if(flag->next==cur)
{
pre=pre->next;
cur=cur->next;
}
flag=add;
}
return add->next;
}
}