let arrs = [20, 10, 4, 5, 8, 31, 0, 50]
function aw(arrs) {
if (arrs.length <= 1) {
return arrs;
}
const index = Math.floor(arrs.length / 2);
const proid = arrs.splice(index, 1)[0];
let left = []
let right = [];
arrs.map((item) => {
if (item > proid) {
left.push(item)
} else {
right.push(item)
}
})
return aw(left).concat(proid, aw(right))
}
console.log(aw(arrs));
function fast_sort(newArr) {
const leftArr = [];
const rightArr = [];
let target = newArr[0]
if (newArr.length <= 1) {
return newArr;
}
for (let i = 1; i < newArr.length; i++) {
if (newArr[i] >= target) {
leftArr.push(newArr[i])
} else {
rightArr.push(newArr[i])
}
}
return fast_sort(leftArr).concat(target, fast_sort(rightArr))
}
const newArr = [1, 8, 3, 9, 7, 2]
console.log(fast_sort(newArr));