//二分插入排序
var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48];
function binaryInsertSort(arr){
for (var i = 1; i < arr.length; i++) {
var key = arr[i], left = 0, right = i - 1;
while (left <= right) {
var middle = parseInt((left + right) / 2);
if (key < arr[middle]) {
right = middle - 1;
} else {
left = middle + 1;
}
}
for (var j = i - 1; j >= left; j–) {
arr[j + 1] = arr[j];
}
arr[left] = key;
}
return arr;
}
console.log(binaryInsertSort(arr));