java 链表插入排序,insertion Sort List (链表的插入排序) leecode java
逻辑简单,代码难写,基础不劳,leecode写注释不能出现中文,太麻烦,我写了大量注释,链表问题最重要的就是你那个指针式干啥的
/**
* 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) {
if(head==null) return head;
ListNode h=new ListNode(-1000000); //加入头结点方面,特别适合头结点不断改变的情况,c++要释放掉,java直接返回头的next就可
h.next=head;
ListNode cur=head.next; //cur 保存当前处理的节点
head.next=null; //别忘了,新链表的尾巴值为空
while(cur!=null)
{
ListNode nextNode=cur.next; //保存下一个要处理的点,因为cur会被插入的新链表中,所以保存,然后赋给cur(最后一句)
ListNode l=h.next;
ListNode pre=h;
while(l!=null) //找到合适的插入位置,找pre地址
{
if(l.val<=cur.val)
{
pre=l;
l=l.next;
}
else
{
break;
}
}
//insert into the list
cur.next=pre.next;
pre.next=cur;
cur=nextNode;
}
return h.next;
}
}
原文:http://www.cnblogs.com/hansongjiang/p/3814998.html
java 链表插入排序,insertion Sort List (链表的插入排序) leecode java相关推荐
- 插入排序(Insertion Sort)-Java实现
插入排序(Insertion Sort)算法简介: 插入排序是一种丛序列左端开始依次对数据进行排序的算法.在排序过程中,左侧的数据陆续归位,而右侧留下的就是还未被排序的数据. 插入排序(Inserti ...
- [转载] python实现基本算法之插入排序(Insertion Sort)
参考链接: Python中的插入排序insertion sort 基本算法之插入排序(Insertion Sort) 基本算法-02.插入排序(Insertion Sort)算法 冒泡排序已经发布,大 ...
- LeetCode 147. Insertion Sort List 链表插入排序 C++/Java
LeetCode 147. Insertion Sort List 链表插入排序 C++/Java Sort a linked list using insertion sort. A graphic ...
- python实现排序算法_python实现·十大排序算法之插入排序(Insertion Sort)
简介 插入排序(Insertion Sort)是一种简单直观的排序算法.它的工作原理是:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入. 算法实现步骤 从第一个元素开 ...
- C语言插入排序Insertion Sort算法(附完整源码)
插入排序Insertion Sort算法 插入排序Insertion Sort算法的完整源码(定义,实现,main函数测试) 插入排序Insertion Sort算法的完整源码(定义,实现,main函 ...
- C语言以递归实现插入排序Insertion Sort算法(附完整源码)
以递归实现插入排序Insertion Sort算法 以递归实现插入排序Insertion Sort算法的完整源码(定义,实现,main函数测试) 以递归实现插入排序Insertion Sort算法的完 ...
- python sort 逆序_python实现·十大排序算法之插入排序(Insertion Sort)
简介 插入排序(Insertion Sort)是一种简单直观的排序算法.它的工作原理是:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入. 算法实现步骤 从第一个元素开 ...
- 插入排序(Insertion Sort)
维基百科:http://zh.wikipedia.org/wiki/插入排序 算法思想: 若数组A[n]的前n-1个数已经有序,我们只需把第n个元素插入到适当的位置即可.易分析得算法的时间复杂度为Ο( ...
- insertion Sort List (链表的插入排序) leecode java
逻辑简单,代码难写,基础不劳,leecode写注释不能出现中文,太麻烦,我写了大量注释,链表问题最重要的就是你那个指针式干啥的 提交地址https://oj.leetcode.com/problems ...
- 插入排序Insertion sort 2
原理类似桶排序,这里总是需要10个桶,多次使用 首先以个位数的值进行装桶,即个位数为1则放入1号桶,为9则放入9号桶,暂时忽视十位数 例如 待排序数组[62,14,59,88,16]简单点五个数字 分 ...
最新文章
- 互联网项目一般使用mysql的什么隔离级别
- 布线须知:无线AP采用PoE交换机供电的好处
- 【数学和算法】SVD奇异值分解原理、以及在PCA中的运用
- 【转】 python socket向百度发送http长连接请求 并做搜索
- :new与:old的用法
- 使用extern C改善显式调用dll
- Word绘制跨行表格
- Windows下使用platform.pk8 和platform.x509.pem生成jks签名文件
- Vb.net 获取IP地址
- 用PYTHON将微信聊天记录生成词云虐狗步骤
- 计算机专业实训图片,实训一图片的简单处理_计算机软件及应用_IT计算机_专业资料...
- 怎样用ipad录制游戏视频?ipad如何录制视频?
- OpenCV 获取图像像素的最大最小值及其对应的位置 minMaxLoc(仅适用于单通道图像)
- moTzxx-CMS —— [一个基于PHP代码的后台管理系统(ThinkPHP5.1.40)]
- 制作Code128B一维条形码的综合教程
- 【转】基于OAI-PMH的元数据搜索引擎的设计与实现
- 如何应付全英文的技术面试(一)
- 东南融通收购尚洋信德 合并后位居国内第二位
- 基于3D边界特征的视觉定位技术
- WenetSpeech数据集的处理和使用