博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Insertion Sort List
阅读量:6935 次
发布时间:2019-06-27

本文共 943 字,大约阅读时间需要 3 分钟。

题目:Insertion Sort List

对链表进行插入排序。

注意:

1.插入头部和插入其他位置需要区分开处理;

2.可以考虑稳定的排序;

思路:

基本的思路就是每次从原链表按顺序取一个节点将它查到已序的新链表的合适的位置。

ListNode* LeetCode::insertionSortList(ListNode* head){    if (!head)return head;    ListNode* root = head;    head = head->next;//先移动到下一个节点    root->next = nullptr;//再将根的next置为空    while (head){        ListNode* p = root;        if (head->val < p->val){
//当前节点需要插入头部 root = head; head = head->next; root->next = p; } else{ //找到当前节点head的值小于p的下一个节点的值的p节点 while (p->next && head->val >= p->next->val){
//等于可以保证稳定性 p = p->next; } ListNode* q = head; head = head->next;//先移动到下一个节点 q->next = p->next;//再将当前节点q的next置为p->next p->next = q; } } return root;}

 还有链表的归并排序:http://www.cnblogs.com/yeqluofwupheng/p/6755973.html

转载于:https://www.cnblogs.com/yeqluofwupheng/p/6755568.html

你可能感兴趣的文章
System.Security.Cryptography.CryptographicException,密钥集不存在
查看>>
敏捷团队中的QA由来
查看>>
gdb调试报错:Missing separate debuginfos, use: debuginfo-install glibc-XXX
查看>>
根据百度API获得经纬度,然后根据经纬度在获得城市信息
查看>>
mariadb 10.1查看per connection内存消耗
查看>>
重装MAC系统 “安装器有效负载签名检查失败” 解决方法
查看>>
(转) Supercharging Style Transfer
查看>>
JMeter性能测试,验证请求数据的准确性(wc命令)
查看>>
Python学习札记(二十三) 函数式编程4 sorted
查看>>
跟着百度学PHP[14]-PDO-优化驱动
查看>>
mysql的.sql文件头部 /*!32312 IF NOT EXISTS*/;
查看>>
ONVIF测试方法及工具
查看>>
《ArcGIS Runtime SDK for Android开发笔记》——数据制作篇:发布具有同步能力的FeatureService服务...
查看>>
Oracle快速克隆安装
查看>>
Spring Boot中使用JdbcTemplate访问数据库
查看>>
struts2的核心和工作原理
查看>>
一种快速统计SQL Server每个表行数的方法
查看>>
(zhuan) How to Train Neural Networks With Backpropagation
查看>>
MHA快速搭建
查看>>
看过的编程类好书(资料)
查看>>