merg sort
Wed Oct 12 2022 07:31:10 GMT+0000 (Coordinated Universal Time)
Saved by
@RedJohn
const mergArrays = (arr1, arr2) => {
const res = []
let i = 0;
let j = 0;
while(i < arr1.length && j < arr2.length) {
if(arr2[j] > arr1[i]) {
res.push(arr1[i])
i++
} else {
res.push(arr2[j])
j++
}
}
while(i < arr1.length) {
res.push(arr1[i])
i++
}
while(j < arr2.length) {
res.push(arr2[j])
j++
}
return res
}
const mergSort = (arr) => {
if(arr.length <= 1) return arr
const mid = Math.floor(arr.length/2)
const start = mergSort(arr.slice(0,mid))
const end = mergSort(arr.slice(mid))
return mergArrays(start, end)
}
mergSort([1,6,3,2,10,45,5,4])
// mergArrays([1,7,9,20], [2,4,6,8,30])
content_copyCOPY
Comments