package lbs;
import java.util.Arrays;
//折半插入排序
public class Num2 {
public static void main(String[] args) {
System.out.println("折半插入排序:");
int arr[] = {2,4,1,3,5,7,9,8,6};
System.out.println(Arrays.toString(arr));
for (int i = 1; i < arr.length; i++) {
if (arr[i] < arr[i-1]) {
int temp = arr[i];
int low = 0;
int high = i-1;
while (low <= high ) {
int mid = (low + high) / 2;
if (arr[mid] < temp) {
low = mid + 1;
} else {
high = mid - 1;
}
}
for (int j = i; j > low; j--) {
arr[j] = arr[j-1];
}
arr[low] = temp;
}
}
System.out.println(Arrays.toString(arr));
}
}