Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. package bonus;
  2.  
  3. import java.util.Arrays;
  4.  
  5. public class Main {
  6. private static int interclasare(int[] arr, int[] tempArr, int l, int m, int r) {
  7. int i = l, j = m, k = l, n = 0;
  8.  
  9. while (i < m && j <= r) {
  10. if (arr[i] <= arr[j]) {
  11. tempArr[k++] = arr[i++];
  12. } else {
  13. tempArr[k++] = arr[j++];
  14. n += (m - i);
  15. }
  16. }
  17.  
  18. while (i < m) {
  19. tempArr[k++] = arr[i++];
  20. }
  21.  
  22. while (j <= r) {
  23. tempArr[k++] = arr[j++];
  24. }
  25.  
  26. for (i = l; i <= r; i++) {
  27. arr[i] = tempArr[i];
  28. }
  29.  
  30. return n;
  31. }
  32.  
  33. private static int mergeSort(int[] arr, int[] tempArr, int l, int r) {
  34. int n = 0;
  35.  
  36. if (l < r) {
  37. int m = (l + r) / 2;
  38.  
  39. n = n + mergeSort(arr, tempArr, l, m) + mergeSort(arr, tempArr, m + 1, r) + interclasare(arr, tempArr, l, m + 1, r);
  40. }
  41.  
  42. return n;
  43. }
  44.  
  45. public static void main(String[] args) {
  46. int[] arr = {0, 1, 9, 4, 5, 7, 6, 8, 2};
  47. System.out.println(mergeSort(arr, new int[arr.length], 0, arr.length - 1));
  48. }
  49.  
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement