Java实现直接插入排序
来源:互联网 发布:主流机械设计软件 编辑:程序博客网 时间:2024/06/05 18:55
直接插入排序思路很简单:依次将待排序的数据元素按其关键字值大小插入前面的有序序列。
public class InsertSort {public static void main(String[] args) {int[] data = new int[] { 9, -16, 21, 23, -30, -47, 21, 30, 13 };printArray(data);insertSort(data);printArray(data);}public static void printArray(int[] data) {System.out.print("[");for (int i = 0; i < data.length; i++) {if (i != data.length - 1) {System.out.print(data[i] + ",");} else {System.out.println(data[i] + "]");}}}public static void insertSort(int[] data) {for (int i = 1; i < data.length; i++) {
//用一个临时值记录data[i],保证在整体后移的时候data[i]的值不会丢失。int temp = data[i];
//i角标处的值已经比前面所有的值都大,表明已经有序,无需插入
//(i-1)索引之前的数据已经是有序的,i-1索引处的元素的值就是最大值if (data[i] - data[i - 1] < 0) {int j = i - 1;for (j = i - 1; j >= 0 && data[j] - temp > 0; j--) {data[j + 1] = data[j];}data[j + 1] = temp;}}}}
[9,-16,21,23,-30,-47,21,30,13][-47,-30,-16,9,13,21,21,23,30]
阅读全文
0 0
- 插入排序--直接插入排序[Java实现]
- 插入排序----直接插入排序----java实现
- 直接插入排序java实现
- Java实现直接插入排序
- java实现直接插入排序
- 直接插入排序---java实现
- java实现直接插入排序
- 直接插入排序 :Java实现
- 直接插入排序----java实现
- java实现直接插入排序
- java 实现直接插入排序
- 直接插入排序 java实现
- Java实现直接插入排序
- 直接插入排序 java实现
- 直接插入排序-java实现
- Java实现直接插入排序
- Java实现直接插入排序
- java实现直接插入排序
- 记录:遇到的问题Spring跳转也页面报错404
- Python 把字典的key和value的值取出来,按照顺序存入到list中
- Nodejs 异步回调之异常
- vs编译生成之后报错
- JVM——内存管理和垃圾回收
- Java实现直接插入排序
- 从jQuery学到的几件事情
- POJ
- python通过thrift方式连接hive
- vue2.0中vuex到底是干什么的?怎么使用?
- javascript数组方法汇总
- PHP常用函数总结(180多个)
- 关于sqlsqlserver 对时间的截取转换操作
- Map值排序