vlambda博客
学习文章列表

【每日编程-101期】排序链表之插入排序

今日问题:

排序链表

 O(n log n)时间复杂度和常数级空间复杂度下,对链表进行排序。

示例 1:

输入:4->2->1->3

输出:1->2->3->4

示例 2:

输入:-1->5->3->4->0

输出:-1->0->3->4->5


解决方法:

直接插入排序

直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。


【每日编程-101期】排序链表之插入排序


C++代码:

【每日编程-101期】排序链表之插入排序


java代码:



明日题目预告:

排序链表之选择排序

示例 1:

输入:4->2->1->3

输出:1->2->3->4

示例 2:

输入:-1->5->3->4->0

输出:-1->0->3->4->5