1 Importjava.util.Arrays;2 3 4 Public classMergeSort {5 6 Public Static voidMain (string[] args) {7MergeSort ms=Newmergesort ();8 int[] arr={5,44,32,4,566,67,23};9Ms.merge (arr, 0, Arr.length-1);Ten System.out.println (arrays.tostring (arr)); One } A - voidMergeint[] arr,intStartintend) - { the if(start==end) - return ; - intMid= (start+end)/2; -Merge (Arr,start,mid);//left sort recursion +Merge (Arr,mid+1,end);//You- side sort recursion - combine (arr,start,mid,end); + } A at voidCombineint[] arr,intStartintMidintend) { - intLength=end-start+1; - inttemparr[]=New int[length]; - intTempindex=0; - intleft=start; - intRight=mid+1; in while(left<=mid&&right<=end) - { to if(arr[left]<Arr[right]) +temparr[tempindex++]=arr[left++]; - Else thetemparr[tempindex++]=arr[right++]; * } $ Panax Notoginseng while(left<=mid) -temparr[tempindex++]=arr[left++]; the + while(right<=end) Atemparr[tempindex++]=arr[right++]; the + for(inti=0;i<temparr.length;i++) - { $arr[start+i]=Temparr[i]; $ } - } -}
Merge sort Java