Md_hosen_zisad

mergesort

Oct 15th, 2018
350
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int arr[100];
  4.  
  5. void merge(int arr[], int left, int mid, int right)
  6. {
  7.     int i, j, k;
  8.     int n1 = mid - left + 1;
  9.     int n2 =  right - mid;
  10.     int L[n1], R[n2];
  11.  
  12.     for (i = 0; i < n1; i++)
  13.         L[i] = arr[left + i];
  14.     for (j = 0; j < n2; j++)
  15.         R[j] = arr[mid + 1+ j];
  16.  
  17.     i = 0;
  18.     j = 0;
  19.     k = left;
  20.     while (i < n1 && j < n2)
  21.     {
  22.         if (L[i] <= R[j])
  23.         {
  24.             arr[k] = L[i];
  25.             i++;
  26.         }
  27.         else
  28.         {
  29.             arr[k] = R[j];
  30.             j++;
  31.         }
  32.         k++;
  33.     }
  34.  
  35.  
  36.     while (i < n1)
  37.     {
  38.         arr[k] = L[i];
  39.         i++;
  40.         k++;
  41.     }
  42.  
  43.  
  44.     while (j < n2)
  45.     {
  46.         arr[k] = R[j];
  47.         j++;
  48.         k++;
  49.     }
  50. }
  51.  
  52. void mergeSort(int arr[], int l, int r)
  53. {
  54.     if (l < r)
  55.     {
  56.         int m = l+(r-l)/2;
  57.  
  58.  
  59.         mergeSort(arr, l, m);
  60.         mergeSort(arr, m+1, r);
  61.  
  62.         merge(arr, l, m, r);
  63.     }
  64. }
  65.  
  66.  
  67. void printArray(int A[], int size)
  68. {
  69.     int i;
  70.     for (i=0; i < size; i++)
  71.         printf("%d ", A[i]);
  72.     printf("\n");
  73. }
  74.  
  75.  
  76. int main()
  77. {
  78.    int  i,n;
  79.    cout<<"enter the value :";
  80.    cin>>n;
  81.    for(i=1;i<=n;i++)
  82.    {
  83.        cin>>arr[i];
  84.    }
  85. mergeSort(arr, 1, n );
  86.  for(i=1;i<=n;i++)
  87.    {
  88.        cout<<arr[i]<<" ";
  89.  
  90.    }
  91.  
  92.     return 0;
  93.  
  94. }
Add Comment
Please, Sign In to add comment