insertion-sort-list——链表、插入排序、链表插入
Sort a linked list using insertion sort.
PS:需要考虑left为head且只有一个数时,此时left->==NULL,若right<left则应更新left。
比较p->next->val与right->val以此来避免需要记录preNode
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NULL) {} 7 * }; 8 */ 9 class Solution { 10 public: 11 ListNode *insertionSortList(ListNode *head) { 12 ListNode *left=NULL,*right=head; 13 if(head==NULL) 14 return head; 15 left=head; 16 right=head->next; 17 left->next=NULL; 18 19 while(right!=NULL){ 20 ListNode *p=left; 21 ListNode *cur=right; 22 23 while(p!=NULL&&p->next!=NULL&&p->next->val<right->val) 24 p=p->next; 25 right=right->next; 26 if(p->val<=cur->val){ 27 cur->next=p->next; 28 p->next=cur; 29 }else{ 30 cur->next=p; 31 left=cur; 32 } 33 34 35 } 36 return left; 37 } 38 };
转载于:https://www.cnblogs.com/zl1991/p/6957756.html
insertion-sort-list——链表、插入排序、链表插入相关推荐
- Insertion Sort List(单链表插入排序)
来源:https://leetcode.com/problems/insertion-sort-list Sort a linked list using insertion sort. 方法: 1. ...
- c语言 静态链表插入排序,数据结构 - 表插入排序 具体解释 及 代码(C++)
表插入排序 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24323125 表插入排序(List I ...
- [转载] python实现基本算法之插入排序(Insertion Sort)
参考链接: Python中的插入排序insertion sort 基本算法之插入排序(Insertion Sort) 基本算法-02.插入排序(Insertion Sort)算法 冒泡排序已经发布,大 ...
- leetcode day2 -- Sort List Insertion Sort List
1.Sort List Sort a linked list in O(n log n) time using constant space complexity. 分析:对链表排序不是第一次见,但是 ...
- LeetCode 147. Insertion Sort List 链表插入排序 C++/Java
LeetCode 147. Insertion Sort List 链表插入排序 C++/Java Sort a linked list using insertion sort. A graphic ...
- Java实现插入排序及其优化 insertion sort
本文带来八大排序算法之插入排序. 插入排序(Insertion Sort)属于内部排序算法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的. 插入排序基本思想: 把n个待排序的元 ...
- python实现排序算法_python实现·十大排序算法之插入排序(Insertion Sort)
简介 插入排序(Insertion Sort)是一种简单直观的排序算法.它的工作原理是:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入. 算法实现步骤 从第一个元素开 ...
- 建立单链表 单链表的插入_单链列表插入
建立单链表 单链表的插入 All possible cases: 所有可能的情况: Inserting at beginning 开始插入 Inserting at the ending 在末尾插入 ...
- python sort 逆序_python实现·十大排序算法之插入排序(Insertion Sort)
简介 插入排序(Insertion Sort)是一种简单直观的排序算法.它的工作原理是:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入. 算法实现步骤 从第一个元素开 ...
- python链表节点的插入p.next curnode_leetcode刷题总结之链表
前言: 2020/1/14:今年过年前的任务就是回顾之前的刷过题,然后弄清以前没有弄懂的知识点,最后归纳整理形成自己的体系.因为"学而不思则罔,思而不学则殆",在比赛或者面试做题时 ...
最新文章
- sqlplus可以连接plsql连接不上_为什么有的iPhone/iPad连接不上电脑?
- Linux Kernel中spinlock的设计与实现
- java五大原则_Java成长第五集--面向对象设计的五大原则
- c语言字符密码验证码,c语言下的学生管理系统(含密码加密和验证码).docx
- linux xlib函数手册,Xlib 学习笔记
- docker 安装mysql_docker|docker安装mysql数据库
- SQL Server2008数据库用户管理 (第三部分)
- 安装Samba服务器
- abaqus结构工程分析及实例详解pdf_“结构非线性、材料拟合、冲击碰撞、钣金/金属成形、顺序耦合、多物理场、有/非参优化”专题...
- linq 清除一条数据中的某个字段值_利用Postman中Tests断言校验返回结果
- 微信公众号教程(16)公司通讯录开发 终
- 生产计划管理系统实现生产计划流程完美结合
- 苹果手机屏幕助手_同时适用于安卓和苹果的手机助手工具--Anvsoft Syncios
- NETSDK1045 当前 .NET SDK 不支持将 .NET 6.0 设置为目标。请将 .NET 5.0 或更低
- JAVA 115个面试题及个人部分衍生疑问?
- Typora配置smms图床
- Android 4.0 SDK新特性
- 【WordPress报错】cURL error 52: Empty reply from server(http_request_failed)
- unity 等待...动画_介绍Unity 2019.1的动画索具预览包
- 58同城疑收购优信二手车:优势增补布局未来市场
热门文章
- 深度学习(四十五)条件对抗网络
- java属于以下哪种语言_Java属于以下哪种语言?
- 哎呀你不要把他叫出来_不吼不叫,学会这3个亲子互动方法,孩子不专注都难...
- java 内存分析 ibm_IBM内存检测工具(IBM Thread and Monitor Dump Analyzer for Java)
- 软考网络管理员学习笔记8之第八章网络安全技术
- go语言结构体作为函数参数,采用的是值传递
- BZOJ 2244 [SDOI2011]拦截导弹 (三维偏序CDQ+线段树)
- 【BZOJ 1801】【AHOI 2009】中国象棋(递推DP)
- 中断、轮询、事件驱动、消息驱动、数据流驱动(Flow-Driven)?
- CentOS下搭建DNS服务器