Mergesort data structures
let Arr=[7,4,9,34,87,23,89,1,22,9,5]
mergesort(Arr)
console.log(Arr)
function mergesort(argarr){
let midvalue = Math.ceil((argarr.length)/2);
if(argarr.length>1){
let leftvalue = argarr.slice(0,midvalue)
let rightvalue = argarr.slice(midvalue,argarr.length)
mergesort(leftvalue)
mergesort(rightvalue)
merger(leftvalue,rightvalue,argarr);
}
function merger(larr,rarr,oarr){
let i = 0;
let j = 0;
let k = 0;
while(i<larr.length && j<rarr.length){
if(larr[i]<rarr[j]){
oarr[k]=larr[i]
k++
i++
}
else{
oarr[k]=rarr[j]
k++
j++
}
}
while(i<larr.length){
oarr[k]=larr[i]
k++
i++
}
while(j<rarr.length){
oarr[k]=rarr[j]
k++
j++
}
console.log(oarr)
}
}