Advertisement
Guest User

Untitled

a guest
Nov 21st, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. void merge(int l, int m, int r)
  2. {
  3. //char** output=malloc(curn*sizeof(char*));
  4.  
  5. //output=arr;
  6. int i, j, k;
  7. int n1 = m - l + 1;
  8. int n2 = r - m;
  9.  
  10.  
  11. char** L=malloc(n1*sizeof(char*));
  12. char** R=malloc(n2*sizeof(char*));
  13.  
  14.  
  15. for (i = 0; i < n1; i++)
  16. {
  17. L[i] = arr[l + i];
  18. }
  19. for (j = 0; j < n2; j++)
  20. {
  21. R[j] = arr[m + 1 + j];
  22. }
  23.  
  24.  
  25. i = 0; // Initial index of first subarray
  26. j = 0; // Initial index of second subarray
  27. k = l; // Initial index of merged subarray
  28. while (i < n1 && j < n2)
  29. {
  30. if (cmp2(R[j], L[i]))
  31. {
  32. arr[k] = L[i];
  33. i++;
  34. }
  35. else
  36. {
  37. arr[k] = R[j];
  38. j++;
  39. }
  40. k++;
  41. }
  42.  
  43.  
  44. while (i < n1)
  45. {
  46. arr[k] = L[i];
  47. i++;
  48. k++;
  49. }
  50.  
  51.  
  52. while (j < n2)
  53. {
  54. arr[k] = R[j];
  55. j++;
  56. k++;
  57. }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement