网站首页 > java教程 正文
插入排序
工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。就是将数组第一个值看做有序的,从后每一个值放进来的时候,找放的位置。这里边就需要一些已经排好的数据可能会整体左移或者右移,所以用插入排序的算法也可以找到新数据存放到有序数组中的位置
用java代码实现:
public
static
void
insertSort(
int
[] arr) {
//定义循环控制变量
int
i, j;
//定义哨兵
int
guard;
for
(i =
1
; i < arr.length; i++) {
if
(arr[i] < arr[i -
1
]) {
guard = arr[i];
j = i -
1
;
do
{
arr[j +
1
] = arr[j];
j--;
}
while
(j != -
1
&& guard < arr[j]);
arr[j +
1
] = guard;
}
}
}
猜你喜欢
- 2025-07-03 铁打的程序,流水的语言,2018年JAVA编程还想坚挺500年?
- 2025-07-03 揭2015年最新TIOBE编程榜(2017编程)
- 2025-07-03 「排序」堆排序不难!看完这篇你也能手写堆排序啦
- 2025-07-03 40K+Star!Mall电商实战项目开源,附源码、教程合集
- 2025-07-03 高效实现Java并发编程之Queue(java并发编程深度解析)
- 2025-07-03 TP-LINK面试真题和答案,您能做对几道?
- 2025-07-03 SEO模拟用户点击快排原理(seo排名点击工具)
- 2025-07-03 厉害了,ES 如何做到几十亿数据检索 3 秒返回
- 2025-07-03 「排序算法」图解双轴快排(双轴快速排序算法)
你 发表评论:
欢迎- 最近发表
-
- JAVA面试|为什么Spring Boot的jar可以直接运行?
- 什么情况,今年面试都不问八股文了??准备了几个月,结果一个都不问。。
- LangChain系列之如何使用LangChain4j构建RAG应用(1)
- JAVA入门教程-第2章 基本编程概念
- FTPC Pnuts语言(ftp mput put)
- 这9个工具库让我的Java开发效率提升了80%
- VS2022配置x86/x64调用32位和64位汇编语言动态库环境
- 别再裸写 parseFrom() 了!这才是 MQTT + Protobuf 消费的正确姿势
- aardio + Java + JavaScript 混合开发快速入门
- 铁打的程序,流水的语言,2018年JAVA编程还想坚挺500年?
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)