八大排序算法之 一 插入排序---折半插入排序算法
public class BinaryInsertSort { public static void main(String[] args){ int[] array = {2,6,1,9,4,3,23,65,0,7}; System.out.print("the array before is:"); for(int i = 0; i < array.length; i++){ System.out.print(array[i]+" "); } System.out.println(" "); System.out.println("the array after is:"); binaryInsertSort(array); } private static void binaryInsertSort(int[] array){ int len = array.length; for(int i = 1; i < len; i++){ int low = 0; int high = i - 1; int temp = array[i]; while(low <= high){ int middle = (low + high)/2; if(array[i] < array[middle]){ high = middle - 1; }else{ low = middle + 1; } } for(int j = i;j > low; j--){ array[j] = array[j-1]; } array[low] = temp; for(int z = 0; z < array.length; z++){ System.out.print(array[z]+" "); } System.out.println(" "); } } }
如图所示,是代码实现。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。