Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.87 KB | None | 0 0
  1.     public static void mergeSort(int[] arr, int left, int right) {
  2.         if (left < right) {
  3.             int mid = (left + right) / 2;
  4.             mergeSort(arr, left, mid);
  5.             mergeSort(arr, mid + 1, right);
  6.             merge(arr, left, mid, right);
  7.         }
  8.     }
  9.  
  10.     public static void merge(int[] arr, int left, int mid, int right) {
  11.         int i = left, j = mid + 1, length = right - left + 1;
  12.         int[] temp = new int[length];
  13.  
  14.         int k = 0;
  15.  
  16.         while (i <= mid && j <= right) {
  17.             if (arr[i] < arr[j])
  18.                 temp[k++] = arr[i++];
  19.             else
  20.                 temp[k++] = arr[j++];
  21.         }
  22.  
  23.         while (j <= right)
  24.             temp[k++] = arr[j++];
  25.         while (i <= mid)
  26.             temp[k++] = arr[i++];
  27.  
  28.         for (k = 0; k < length; k++) {
  29.             arr[left++] = temp[k];
  30.         }
  31.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement