maycod23

Untitled

Jun 5th, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. void merge(int *arr, int Start, int Mid, int End)
  5. {
  6. int k = 0;
  7. int temp[End - Start + 1];
  8. int i = Start;
  9. int j = Mid + 1;
  10. while (i <= Mid && j <= End)
  11. {
  12. if (arr[i] < arr[j])
  13. {
  14. temp[k] = arr[i];
  15. k++; i++;
  16. }
  17. else
  18. {
  19. temp[k] = arr[j];
  20. k++; j++;
  21. }
  22. }
  23. while (i <= Mid)
  24. {
  25. temp[k] = arr[i];
  26. k++; i++;
  27. }
  28. while (j <= End)
  29. {
  30. temp[k] = arr[j];
  31. k++; j++;
  32. }
  33. for (i = Start; i <= End; i++)
  34. {
  35. arr[i] = temp[i - Start];
  36. }
  37. }
  38.  
  39.  
  40.  
  41.  
  42. void mergesort(int *arr, int start, int end)
  43.  
  44. {
  45. if (start < end)
  46. {
  47. int mid = (start + end) / 2;
  48. mergesort(arr, start, mid);
  49. mergesort(arr, mid + 1, end);
  50. merge(arr, start, mid, end);
  51. }
  52. }
  53.  
  54.  
  55. int main()
  56. {
  57. int N = 0, i;
  58. int arr[N];
  59. cout << "enter the number of elements you wanna take in array" << "\n";
  60. cin >> N;
  61. cout << "enter the elements in array" << "\n";
  62. for (int i = 0; i <= N - 1; i++)
  63. {
  64. cin >> arr[i];
  65. }
  66. cout << "your array is" << "\n";
  67. for (int i = 0; i <= N - 1; i++)
  68. {
  69. cout << arr[i] << " ";
  70. }
  71. cout << "\n";
  72. mergesort(arr, 0, N - 1);
  73. for (int i = 0; i <= N - 1; i++)
  74. {
  75. cout << arr[i] << " ";
  76. }
  77. cout << "\n";
  78.  
  79. return 0;
  80.  
  81. }
Add Comment
Please, Sign In to add comment