插入排序(Java语言实现)
2023-06-13 09:13:09 时间
算法基本思想: 把n个待排序的元素看成一个有序表和无序表,开始时有序表中只包含一个元素,无序表中包含n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中适当位置,使之成为新的有序表。
代码如下:
public static void insertSort(int[] arr) {
int insertValue = 0;
int insertIndex = 0;
for (int i = 1; i < arr.length; i++) {
insertIndex = i - 1;
insertValue = arr[i]; //insertValue用来保存第i个元素的值
//insertIndex >= 0表示在给insertValue找插入位置时数组下标不要越界
//insertValue < arr[insertIndex] 待插入的数还没有找到插入位置
while(insertIndex >= 0 && insertValue < arr[insertIndex]) {
arr[insertIndex + 1] = arr[insertIndex];
insertIndex--; //没有找到插入位置故将arr[insertIndex]后移
}
//当退出while循环时说明找到插入位置了,insertIndex+1.
arr[insertIndex + 1] = insertValue;
System.out.println("第"+ i +"轮的排序结果为:"+Arrays.toString(arr));
}
System.out.println("排序后的结果为: " + Arrays.toString(arr));
}
相关文章
- java分层打印二叉树_基于Java的二叉树层序遍历打印实现
- java long string 转换_Java long 转成 String的实现[通俗易懂]
- java除零异常_JAVA异常处理
- java语言代码大全_java语言代码大全解析
- java中scanner意思_Java中的Scanner
- java 实现多态_Java多态的实现原理
- java redis锁_Java中Redis锁的实现[通俗易懂]
- 【测开技能】Java语言系列(二)Java基础语法
- java url加密_Java实现url加密处理的方法示例
- Java—java.util.calendar类详解「建议收藏」
- 最短路问题——Java语言实现
- java python双语言实现5种最短路径算法
- 系统命令Java实现Linux系统命令调用的探究(java调用linux)
- 数据库Java连接MySQL数据库实现数据添加(java添加mysql)
- Java监控MySQL性能:实现数据库运行优化(java监控mysql)
- 使用Java设置Redis密码(redis密码java)
- 程序Oracle调用Java程序的实现方法(oracle调用java)
- Oracle与Java程序融合谱写成功曲(java程序Oracle)
- Redis实现Java语言下的遍历处理(redis遍历java)