折半插入排序

来源:互联网 发布:拍照解题的软件 编辑:程序博客网 时间:2024/06/05 14:13

折半插入排序算法与直接插入排序类似,只是采用折半的方式查找记录要插入的位置。
折半插入排序算法:

 public void binaryInsertSort(int[] array) {        int length = array.length;        for (int i = 1; i < length; i++) {            if (array[i] < array[i - 1]) {                int low = 0;                int high = i - 1;                int temp = array[i];                while (low <= high) {                    int mid = low + (high - low) / 2;                    if (temp < array[mid])                        high = mid - 1;                    else                        low = mid + 1;                }                for (int j = i; j > high + 1; j--) {                    array[j] = array[j - 1];                }                array[high + 1] = temp;            }        }    }
原创粉丝点击