java 插入排序2.0

java 插入排序2.0,第1张

java 插入排序2.0

public class BinaryInsertSortTest {
public static void main(String[] args) {
int arr[]={3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};
binaryInsertSort(arr);
for (int i : arr) {
System.out.print(i+" ");
}
}
private static void binaryInsertSort(int[] arr) {
for(int i=1;i< arr.length;i++){
int value=arr[i];
int left=0;
int right=i-1;
while(left<=right){
int middle=left+(right-left)/2;
if(arr[middle]>value){
left=middle+1;
}
else{
right=middle-1;
}
}
for (int j=i-1;j>=left;j–){
arr[j+1]=arr[j];
}
arr[left]=value;

    }
}

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5079870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存