其他分享
首页 > 其他分享> > 链表插入排序

链表插入排序

作者:互联网

func insertionSortList(head *ListNode) *ListNode {
if head == nil {
return nil
}
dummyHead := &ListNode{Next: head}
lastSorted, curr := head, head.Next
for curr != nil {
if lastSorted.Val <= curr.Val {
lastSorted = lastSorted.Next
} else {
prev := dummyHead
for prev.Next.Val <= curr.Val {
prev = prev.Next
}
lastSorted.Next = curr.Next
curr.Next = prev.Next
prev.Next = curr
}
curr = lastSorted.Next
}
return dummyHead.Next
}






标签:head,dummyHead,curr,插入排序,Next,链表,lastSorted,prev
来源: https://www.cnblogs.com/hubber/p/15909039.html