博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java排序算法之插入排序
阅读量:2347 次
发布时间:2019-05-10

本文共 800 字,大约阅读时间需要 2 分钟。

       最近接触了插入排序算法,查了一些资料,写一些自己的理解吧。这种排序方式感觉有些像选择排序法,选择排序法是将当前元素与之后的所有元素逐一比较,从而找出最大或最小值,而插入排序时将当前元素与之前元素逐一比较,从而找到该元素合适的位置。下面看一个例子吧:

       例如:将一组数【14,2,21,36,19】按插入排序。

       第一趟:从第二个元素2开始,2比14小,交换位置,变为【2,14,21,36,19】;

       第二趟:对于第三个元素21,他大于14,所以不用动,还是为【2,14,21,36,19】;

       第三趟:对于第四个元素36,他大于21,所以不用动,还是为【2,14,21,36,19】;

       第四趟:对于第五个元素19,他小于36,交换两者位置:【2,14,21,19,36】,然后再比较19和24,19小于24,交换位置:【2,14,19,21,36】,然后再比较19和14,19大于14,不用动;那么顺序就排出来了。

       下面用代码来实现:

@Test    public void test3(){        int[] arr = new int[]{4,32,12,3,45,6};        int temp;        for(int i=1;i
=0;j--){ if(arr[j]>temp){ arr[j+1]=arr[j]; }else{ break; } } arr[j+1]=temp; System.out.println(i+":"+ Arrays.toString(arr)); } }

运行结果为:

转载地址:http://mrtvb.baihongyu.com/

你可能感兴趣的文章
JVM学习资料收集
查看>>
Codility经典算法题之九:MissingInteger
查看>>
静态导入
查看>>
java 获取路径
查看>>
spring boot 打印sql
查看>>
我的死锁经历
查看>>
spring boot日志配置
查看>>
list排序
查看>>
搭建zookeeper集群
查看>>
1005. 数独
查看>>
1006. 求和游戏
查看>>
IDEA eclipse 控制台日志输出到文件
查看>>
1022. Fib数列
查看>>
一些开源项目
查看>>
将博客搬至CSDN
查看>>
MySQL 中事务的实现
查看>>
CheckStyle
查看>>
IDE配置jvm参数
查看>>
内存溢出
查看>>
Spring Cloud 声明式服务调用 Feign
查看>>