排序:堆排序
//堆排序function exchange(arr,n){
var temp = arr;
if((arr>arr) || (arr>arr)){
if(arr != undefined) {
if (arr <= arr) {
arr = arr;
arr = temp;
return 0;
}
else {
arr = arr;
arr = temp;
return 1;
}
}
else{
arr = arr;
arr = temp;
return 0;
}
}
}
function heap_sort(array){
var arr = array.concat();
var lenAll = arr.length;
var len = parseInt(lenAll/2);
for(var i = len; i > 0; i--){
var key = i;
var flag;
while(key < lenAll){
flag = exchange(arr,key);
if(flag == 0) {
key = 2 * key;
}
else{
key = 2 * key + 1;
}
}
}
return arr;
}
function heap_print(array){
var result = [];
var arr = array.concat();
var len = array.length;
for(var i = 0; i < len; i++){
arr = heap_sort(arr);
var temp = arr.concat();
var first = arr.shift();
var last = arr.pop();
arr.unshift(last);
arr.push(first);
result.push(arr.pop());
}
alert(result);
}
页:
[1]