java如何实现对链表进行插入排序
发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,这篇文章主要介绍java如何实现对链表进行插入排序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已
千家信息网最后更新 2024年11月16日java如何实现对链表进行插入排序
这篇文章主要介绍java如何实现对链表进行插入排序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
对链表进行插入排序。
插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。
每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。
插入排序算法:
插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。
每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。
重复直到所有输入数据插入完为止。
示例 1:
输入: 4->2->1->3
输出: 1->2->3->4
示例 2:
输入: -1->5->3->4->0
输出: -1->0->3->4->5
答案:
1public ListNode insertionSortList(ListNode head) {
2 if (head == null)
3 return head;
4 ListNode helper = new ListNode(0);
5 ListNode cur = head;
6 ListNode pre = helper;
7 ListNode next = null;
8 while (cur != null) {
9 next = cur.next;
10 while (pre.next != null && pre.next.val < cur.val) {
11 pre = pre.next;
12 }
13 cur.next = pre.next;
14 pre.next = cur;
15 pre = helper;
16 cur = next;
17 }
18 return helper.next;
19}
解析:
关于排序前面我们介绍了十几种排序算法,这里让使用插入排序,其实插入排序并不难,这里难的是链表的断开和重连。当然我们还可以使用其他的方法,比如我们把链表的每一个节点全部断开,然后存放到数组中,接着在排序,最后再把排序好的数组按顺序全部再连接起来即可。
以上是"java如何实现对链表进行插入排序"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
排序
元素
输入
数据
输出
迭代
内容
数组
算法
篇文章
有序
适当
价值
位置
兴趣
动画
原地
如上
小伙
小伙伴
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
发布平台数据库设计
旧手机 服务器
国内软件开发痛点
江西省网络安全专家
数据库原理高级查询实验心得体会
计算机网络安全专业毕业论文
什么是服务器集中管理
工业网络安全知识点
宝德服务器管理系统用户名
内存数据库图标
崩坏3不同服务器能收徒吗
大唐电信软件开发待遇
网吧服务器意外关闭自动重启
软件开发项目成本核算案例
公司如何开发一个数据库
数据库 父子表
网络技术与数据库哪个好
query是什么数据库
服务器巡检软件
物理服务器没有安全组
数据库如何调用xml文件
江西省网络安全专家
网络安全应该注意什么
采购库存数据库
软件开发的研究目标
方舟管理员服务器
国外大型网络安全技术网站
黄浦区咨询软件开发代理品牌
共性网络安全基础
软件开发电脑被盗