【leetcode】单链表的插入排序
来源:互联网 发布:nginx ssl 无响应 编辑:程序博客网 时间:2024/05/17 08:57
单链表的直接插入排序排序思想跟数组的插入排序的思想是一样的。但是这里涉及到链表的插入删除等等,一些操作,实现起来还是稍微麻烦的。
链表的直接插入:
情况1:当前结点的值大于上一个结点的值,不用处理,直接去处理下一个结点;
情况2:当前结点的值小于第一个结点的值,将当前结点插入到链表的开始。
情况3:不满足上述两种情况的情况。也就是当前结点的值大于第一个结点的值,小于上一个结点的值时。
代码实现:
class Solution {public: ListNode *insertionSortList(ListNode *head) { if(head==NULL) return head; ListNode* newHead = head; ListNode* cur = head->next;ListNode* prev = head;while(cur){if(cur->val >= prev->val){ cur = cur->next;prev = prev->next;}else if(cur->val < newHead->val){prev->next = cur->next;//移除结点curcur->next = newHead;//cur头插到链表中 newHead = cur;//改变排序链表的headcur = prev->next;}else{head = newHead;while(head->next->val < cur->val)//head对应的结点的值小于cur的值{head = head->next;}prev->next = cur->next;cur->next = head->next;head->next = cur;cur = prev->next;}}return newHead; }};
1 0
- 【leetcode】单链表的插入排序
- [leetcode]单链表插入排序
- 单链表的插入排序
- 单链表的插入排序
- 单链表的插入排序
- 单链表的插入排序
- 单链表的插入排序
- LeetCode Insertion Sort List(单链表插入排序)
- LeetCode基础-排序-插入排序
- 单链表的直接插入排序
- 单链表的归并排序和插入排序
- LeetCode Insertion Sort List 链表的插入排序
- leetcode钻研5 链表的插入排序
- 插入排序和插入排序的改进
- 排序的之插入排序
- 简单的排序---插入排序
- 单链表的创建,删除,插入,显示,排序
- 单链表的创建,删除,插入,排序
- 137. Single Number II 难度:medium
- swift 加速传感器
- AngualrJS中的scope
- 【我的Android进阶之旅】解决MediaPlayer播放音乐的时候报错: Should have subtitle controller already set
- jquery中的ready函数与window.onload谁先执行
- 【leetcode】单链表的插入排序
- 概率1
- STM32 IIC
- 基于Jetson TX1的 YOLO: Real-Time Object Detection
- JZOJ 3809. 【NOIP2014模拟8.25】设备塔
- spring声明式事务管理(基于AspectJ的xml方式)
- jquery 实现筛选功能。
- 解决RecyclerView局部刷新时闪烁
- iOS 滑动隐藏/显示tabbar