数组排序
给出正整数数组 array = [2,1,5,3,8,4,9,5]
写出一个函数 sort,使得 sort(array) 得到从小到大排好序的数组 [1,2,3,4,5,5,8,9]
新的数组可以是在 array 自身上改的,也可以是完全新开辟的内存。
不得使用 JS 内置的 sort API
let minIndex = (numbers) => {
let index = 0;
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] < numbers[index]) {
index = i;
} else {
}
} return index
};
let swap = (array, i, j) => {
let temp = array[i];
array[i] = array[j];
array[j] = temp;
};
function sort(array) {
for (let i = 0; i < array.length - 1; i++) {
let index = (minIndex(array.slice(i) ))+ i;
if (index !== i) {
swap(array, index, i);
}
}
return array;
}
let array = [2, 1, 5, 3, 8, 4, 9, 5];
console.log(sort(array))