果洛州公司网站建设,推荐 南昌网站建设,天元建设集团有限公司承兑,杭州做网站hzfwwl丢人#xff0c;我就是按插入排序老老实实写的啊。。。。
别人肯定map了hhh。
对链表进行插入排序。 插入排序的动画演示如上。从第一个元素开始#xff0c;该链表可以被认为已经部分排序#xff08;用黑色表示#xff09;。 每次迭代时#xff0c;从输入数据中移除一个…
丢人我就是按插入排序老老实实写的啊。。。。
别人肯定map了hhh。
对链表进行插入排序。 插入排序的动画演示如上。从第一个元素开始该链表可以被认为已经部分排序用黑色表示。 每次迭代时从输入数据中移除一个元素用红色表示并原地将其插入到已排好序的链表中。 插入排序算法
插入排序是迭代的每次只移动一个元素直到所有元素可以形成一个有序的输出列表。 每次迭代中插入排序只从输入数据中移除一个待排序的元素找到它在序列中适当的位置并将其插入。 重复直到所有输入数据插入完为止。
示例 1
输入: 4-2-1-3 输出: 1-2-3-4 示例 2
输入: -1-5-3-4-0 输出: -1-0-3-4-5
思路按插入排序思路写就可以啦只是注意链表操作比数组麻烦很多。
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val x; }* }*/
class Solution {public ListNode insertionSortList(ListNode head) {ListNode ansnew ListNode(-1);ListNode tempnull;//要插入的地方ListNode keynull;//要插入的值while(head!null){keyhead;tempans;while(temp.next!null key.valtemp.next.val){temptemp.next;}headhead.next;key.nexttemp.next;temp.nextkey;}return ans.next;}
}