Java算法之直接插入排序
来源:互联网 发布:数据切片和切块 编辑:程序博客网 时间:2024/05/22 02:27
举例:要排序的数组 int[] arr={7,9,8,4,5,1,6,3,2,0};
从小到大排列:
/*直接插入排序*/public class DirectInsertionSort {public static void main(String[] args){int[] arr={7,9,8,4,5,1,6,3,2,0};for(int i=1;i<arr.length;i++){//第0位独自作为有序数列,从第1位开始向后遍历if(arr[i]<arr[i-1]){//0~i-1位为有序,若第i位小于i-1位,继续寻位并插入,否则认为0~i位也是有序的int temp=arr[i];//保存第i位的值int k=i-1;for(int j=k;j>=0&&temp<arr[j];j--){//从第i-1位向前遍历并移位,直至找到小于第i位值停止arr[j+1]=arr[j];k--;}arr[k+1]=temp;//插入第i位的值}}for(int b=0;b<arr.length;b++){//输出 System.out.println(arr[b]);}}}运行结果:
0123456789
基本思想:在要排序的一组数中,假设前面(n-1)[n>=2]个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。
阅读全文
0 0
- java排序算法之直接插入排序
- 排序算法之直接插入排序(JAVA)
- Java算法排序之--直接插入排序
- 排序算法之直接插入排序(java)
- 排序算法之直接插入排序(Java)
- JAVA 学习算法之直接插入排序
- java算法之直接插入排序
- Java算法之直接插入排序
- java算法之二直接插入排序(插入排序)
- 插入排序之直接插入排序算法-java实现
- Java八大排序算法之"直接插入排序"算法
- java实现排序算法之插入排序(直接插入排序,折半插入排序,希尔排序)
- 算法-插入排序之直接插入排序
- 排序算法-插入排序之直接插入
- java实现排序算法之2-路插入排序,直接插入排序,折半插入排序
- 算法之直接插入排序
- 排序算法之直接插入
- 【算法】之直接插入排序
- 继承和初始化时,程序运行顺序的自己的理解。
- Android 加载高清巨图,无需剪裁压缩
- 大周总结
- 调用动态链接库*.so
- 编译接口工具类
- Java算法之直接插入排序
- linux性能监控工具-(显示系统整体资源使用情况-top命令)
- 旷视科技完成4.6亿美元C轮融资,打破商汤4.1亿美元单轮融资记录
- 解密DNA机器人“巨大的一小步”:血液循环中精准送达药物
- 3分钟学会sessionStorage用法
- 博世投资张翠波:自动驾驶需要突破芯片、传感器、深度学习算法等关键技术
- Google智能生态链的演进路径
- 任正非最新讲话透露:华为在加快开发统一的人工智能平台
- AtCoder AtCoder Beginner Contest 076 Dubious Document 2(set与字典序)