let arr1=[5,7,5,8,1,2,9,10,51,12,18,9,10,2,5];
function sor1(arr,l,r){
if(l==r){
return;
}
let mid= Math.floor((l+r)/2);
sor1(arr,l,mid);
sor1(arr,mid+1,r);
merge(arr,l,mid,r)
return arr;
}
function merge(arr,l,m,r){
let i=0,
help=[], //辅助数组
p1=l,p2=m+1;
while(p1<=m &&p2<=r){
help[i++]=arr[p1]<arr[p2]?arr[p1++]:arr[p2++];
}
while(p1<=m ){
help[i++]=arr[p1++];
}
while(p2<=r){
help[i++]=arr[p2++];
}
for(i=0;i<help.length;i++){
arr[l+i]=help[i];
}
return arr;
}
let len=arr1.length-1;
let b=sor1(arr1,0,len);
console.log(b);