147. Insertion Sort List
2024-10-19 11:53:30
Sort a linked list using insertion sort.
代码如下:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode insertionSortList(ListNode head) {
if(head==null||head.next==null)
return head; ListNode pre=head;
ListNode q=head.next;
ListNode p=head;
while(q!=null)
{ if(q.val<=head.val)
{
pre.next=q.next;
q.next=head;
head=q;
if(pre.next==null)
break;
else q=pre.next;
p=head;
}
else
if(q.val>=p.val&&q.val<p.next.val)
{
pre.next=q.next;
q.next=p.next;
p.next=q;
if(pre.next==null)
break;
else q=pre.next;
p=head;
}
else if(q.val>=p.val&&q.val>p.next.val)
{ p=p.next;
}
else if(q.val==p.next.val&&p.next!=q)//用于有重复元素时的排序
{p=p.next;}
else {
p=head;
pre=pre.next;
q=pre.next;
}
ListNode c=head; } return head;
} }
最新文章
- 对于多个数据库表对应一个Model问题的思考
- Android原生游戏开发:使用JustWeEngine开发微信打飞机
- MFC程序中使用调试宏ASSERT()、ASSERT_VALID()、VERIFY()和TRACE()的区别
- mvc-1
- MemSQL分布式架构介绍(二)
- [Effective JavaScript 笔记] 第6条:了解分号插入的局限
- Python 时间 日期常见操作
- FR报表 自动缩小的代码
- Java并发控制机制详解
- eclipse颜色配置
- HTTPConnection与HTTPClient的区别
- zoj 1622 Switch 开关灯 简单枚举
- Udacity调试课笔记之断言异常
- CodeForces 25E	 Test KMP
- Intel 80x86 寻址模式
- 使用htmlparse爬虫技术爬取电影网页的全部下载链接
- PHP扩展安装方法
- 开源IM项目-InChat登录接口设计与实现(基于Netty)
- Microsoft Speaker Recognition API
- 关于SQL 导出脚本失败 及SQL 的重装