OneCompiler

Merge Sort

110

// Merge two sorted Array ....

function MergeTwoSortArray(arr,s,mid,e) {

let temp1=arr.slice(s,mid+1)
let temp2=arr.slice(mid+1,e+1)
let k=s;
let i=0;
let j=0;

while(i<temp1.length && j<temp2.length){
if(temp1[i]<temp2[j]){
arr[k]=temp1[i]
i++;
k++;
}else{
arr[k]=temp2[j]
j++;
k++;
}
}
while(i<temp1.length){
arr[k]=temp1[i];
i++;
k++;
}
while(j<temp2.length){
arr[k]=temp2[j];
j++;
k++;
}

}

function MergeSort(arr,s,e){
if(s>=e){
return
}

let mid=s+Math.floor((e-s)/2)

MergeSort(arr,s,mid)

MergeSort(arr,mid+1,e)
MergeTwoSortArray(arr,s,mid,e)
return arr

}

const temp1=[44,8,55,14,22,26]

console.log(MergeSort(temp1,0,temp1.length-1))