java如何实现对链表进行插入排序
发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,这篇文章主要介绍java如何实现对链表进行插入排序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已
千家信息网最后更新 2025年02月09日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安全错误
数据库的锁怎样保障安全
服务器可以平台管理么
网络技术攻防技术总结
麟通网络技术有限公司
没有web界面的服务器如何访问
微型网络技术应用范围
江西机械专业软件开发平台
cpe软件开发
网络安全创新能力百强
手抄报网络安全宣传周
广东5g服务器机柜厂
服务器怎么禁用defender
目标数据库
闫怀志 网络安全
郑州市中关村互联网 科技公司
政务系统网络安全评审
网页端怎么访问服务器
河南同城生鲜配送软件开发
FT服务器P管理工具
番禺靠谱的服务器运维服务
怎么绕过服务器安全狗
龙口app定制软件开发推荐
数据库定义中短整型怎么定义
伟思网络安全隔离网闸
昌平区正规软件开发
Vr做java服务器
网络技术演进培训
csgi连接不上服务器
如何建域服务器
用友U8C软件数据库设置
大学计算机三级数据库题库