单向链表的插入排序
来源:互联网 发布:vmware pro mac os x 编辑:程序博客网 时间:2024/06/14 16:32
题目描述
Sort a linked list using insertion sort.
这个题目不是很难,过程也很简单,为了实现插入排序的效果,我们需要实现链表的反转。链表的反转可以参考我之前的博文。能够写出链表反转的代码的话,这个程序也就差不多了。
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode insertionSortList(ListNode head) { ListNode dumy = new ListNode(0); ListNode cur = head; ListNode pre = dumy; while (cur != null) { //保存当前节点下一个节点 ListNode next = cur.next; pre = dumy; //寻找当前节点正确位置的一个节点 while (pre.next != null && pre.next.val < cur.val) { pre = pre.next; } //将当前节点加入新链表中 cur.next = pre.next; pre.next = cur; //处理下一个节点 cur = next; } return dumy.next; }}
0 0
- 单向链表的插入排序
- 无序单向链表的插入排序(升序)
- 单向链表插入排序 Java
- 不带头结点的单向链表排序——插入排序(C语言)
- 算法与数据结构-单向链表的直接插入排序和快速排序
- 单向链表的排序
- 单向链表插入
- 单向链表的插入删除代码
- 单向链表的创建 删除 插入
- [LeetCode] Insertion Sort List 单向链表插入排序
- 单向链表:在插入值的同时要进行排序
- 单向链表的创建,插入,删除,排序,查找---新人贴
- 单向动态链表的建立、插入、删除、排序和保存
- C语言中单向非循环链表的生成,遍历,排序,插入和删除
- 单向链表排序
- 单向链表插入实现
- 转载:单向链表的排序
- 【C】单向链表和双向链表的插入
- nginx方向代理2
- Android NDK Application.mk(中文翻译)
- 【PAT甲级】【C++】1003. Emergency (25)
- 异步任务-AsyncTack基本使用
- MySQL ibdata1瘦身
- 单向链表的插入排序
- Matlab 中 arrayfun用法
- 补码的加减乘除和移位
- 第24篇 linux下布署apprtc(二)
- 由swr_get_delay想到的
- 51NOD 1065 最小正子段和
- Spring源码阅读(2)- bean解析初体验
- wn_遥远的村下
- (九)修改和删除部门功能模块的实现