选择排序
// 选择排序
X.prototype.selection_sort = function(arr) {
for(let i = arr.length-1; i >=0; i--){
var max = -Infinity; // -Infinity 表示负无穷大
var max_index = 0;
for(const index in arr.slice(0,i+1)) { // 将未排序数组进行比较
console.log(index+':'+arr[index]);
if(arr[index] > max) {
max = arr[index]; //采取递增排列, 求出最大项 并与最后一项交换位置
max_index = index;
}
}
arr[max_index] = arr[i];
arr[i] = max;
}
return arr;
}
插入排序
// 插入排序
X.prototype.insert_sort = function(arr) {
for(i = 1; i <arr.length; i++) {
let temp0 = arr[i];
campare(arr, i, temp0);
}
}
function campare(array, x, temp) {
if(array[x] < array[x-1]){
array[x] = array[x-1];
if(x>=2 && temp < array[x-2]){ //当第三项大于第二项后,换位,与第一项比较,如果还小于 该项,则递归调用campare()函数
console.log(1);
array[x-1] = array[x-2];
array[x-2] = temp;
return campare(array, x-2, temp); //
}
else array[x-1] = temp;
return array;
}
else
return array;
}