Java实现折半插入排序
来源:互联网 发布:win7照相机软件 编辑:程序博客网 时间:2024/06/05 03:29
折半插入排序
import java.util.*;public class BInsertSort{ private static void sort(int[] dataArr){ for(int i = 1; i < dataArr.length; i++){ int temp = dataArr[i]; int low = 0, high = i - 1; while(low <= high){ int mid = (low + high) / 2; if(temp < dataArr[mid]){ high = mid - 1; }else{ low = mid + 1; } } int j = i - 1; for(; j >= high + 1; j--){ dataArr[j + 1] = dataArr[j]; } dataArr[j + 1] = temp; } } public static void main(String[] args){ int[] dataArr = new int[args.length]; for(int i = 0; i < args.length; i++){ try{ dataArr[i] = Integer.valueOf(args[i]); }catch(NumberFormatException e){ System.out.println("input invalid decimal integer:" + e.getMessage()); return; } } System.out.println("befort sort:" + Arrays.toString(dataArr)); sort(dataArr); System.out.println("after sort:" + Arrays.toString(dataArr)); }}
运行:
javac BInsertSort.java
java BInsertSort 49 38 65 97 76 13 27
输出:
befort sort:[49, 38, 65, 97, 76, 13, 27]
after sort:[13, 27, 38, 49, 65, 76, 97]
阅读全文
0 0
- 折半插入排序java实现
- Java实现折半插入排序
- 插入排序--折半插入排序[Java实现]
- 插入排序之折半排序Java实现
- java实现折半插入排序算法
- 折半插入排序(java实现)
- Java 实现二分(折半)插入排序
- java实现折半插入排序算法
- 折半插入排序 Java
- 折半插入排序 Java
- Java 折半插入排序
- java折半插入排序
- java实现折半插入排序(二分插入排序)
- java实现排序算法之插入排序(直接插入排序,折半插入排序,希尔排序)
- 排序算法--插入排序(直接插入排序、折半插入、shell排序)的java实现
- java实现排序算法之2-路插入排序,直接插入排序,折半插入排序
- c++实现折半插入排序
- C++实现折半插入排序
- 安装jupyter的过程中出现Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-qMLlkr/
- 深入理解Java内部类
- H5 按钮抖动效果
- 第一天纪念
- 设置模式(3)——策略模式
- Java实现折半插入排序
- SVN 安装部署并设置为自动同步到实际的项目
- 数据结构跑路篇——冒泡排序
- UDP简单例子
- VGG Face测试的Python版本
- 动态顺序表
- 一、python环境搭建
- Python+Selenium注册登录各个功能流程验证脚本
- HTTP method POST is not supported by this URL错误的解决方案