Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private int[] merge(int[] arr, int lower, int upper)
- {
- if (lower == upper)
- {
- return arr;
- }
- int mid = (lower + upper) >> 1;
- merge(arr, lower, mid);
- merge(arr, mid + 1, upper);
- return mergeArrays(arr, lower, mid + 1, upper + 1);
- }
- private int[] mergeArrays(int[] arr, int lower, int mid, int upper)
- {
- int temp = mid;
- int i = 0;
- for (; lower < temp && mid < upper; )
- {
- if (arr[lower] < arr[mid])
- {
- lower++;
- }
- else
- {
- swap(arr, mid, lower);
- mid++;
- }
- i++;
- }
- return arr;
- }
- private void swap(int[] arr, int i, int j)
- {
- int temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement