//二元选择排序
//待优化
function binarySelect_sort(array){
var arr = array.concat();
var len = arr.length;
for(var i = 0; i < len/2; i++){
var max = i;
var min = i;
var tempmin;
var tempmax;
for(var j = i+1; j < len-i; j++){
if(arr[j] > arr[max]){
max = j;
continue;
}
if(arr[j] < arr[min]){
min = j;
}
if(max == min){
alert(arr);
return;
}
}
tempmin = arr[min];
tempmax = arr[max];
if((max == i) && (min != (len-1-i))){
var temp = arr[len-1-i];
arr[len-1-i] = tempmax;
arr[i] = tempmin;
arr[min] = temp;
}
else if((min == (len-1-i)) && (max != i)){
var temp = arr[i];
arr[i] = tempmin;
arr[len-1-i] = tempmax;
arr[max] = temp;
}
else if((max == i) && (min == (len-1-i))){
arr[i] = tempmin;
arr[len-1-i] = tempmax;
}
else {
arr[min] = arr[i];
arr[max] = arr[len - 1 - i];
arr[i] = tempmin;
arr[len - 1 - i] = tempmax;
}
}
alert(arr);
}