Advertisement
NabilaShova

Merge Sort

Dec 5th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. int A[100],B[100];
  5. void MergeFunction(int A[],int p,int q,int m)
  6. {
  7.     int i,k,j;
  8.     i=p;
  9.     j=m+1;
  10.     k=p;
  11.  
  12.     while(i<=m && j<=q)
  13.     {
  14.         if(A[i]<A[j])
  15.         {
  16.             B[k]=A[i];
  17.             i++;
  18.         }
  19.         else{
  20.              B[k]=A[j];
  21.             j++;
  22.         }
  23.  
  24.         k++;
  25.  
  26.     }
  27.  
  28.     if(i<=m ){
  29.         while(i<=m){
  30.             B[k]=A[i];
  31.             i++;
  32.             k++;
  33.         }
  34.     }
  35.     else{
  36.          while(j<=q){
  37.              B[k]=A[j];
  38.             j++;
  39.             k++;
  40.          }
  41.     }
  42.  
  43.     for(i=p;i<=q;i++){
  44.         A[i]=B[i];
  45.     }
  46. }
  47.  
  48.  
  49. void MergeSort(int A[],int p,int q)
  50. {
  51.     int m;                  ///M for Mid value
  52.     if(p<q){
  53.          m=((p+q)/2);
  54.  
  55.     MergeSort(A,p,m);
  56.     MergeSort(A,m+1,q);
  57.  
  58.     MergeFunction(A,p,q,m);
  59.     }
  60. }
  61.  
  62. int main(){
  63.     int a[100],j,i,n;
  64.     cout<<"Enter the number the elements"<<endl;
  65.     cin>>n;
  66.     cout<<"Enter all elements"<<endl;
  67.     for(i=0;i<n;i++){
  68.        cin>>a[i];
  69.     }
  70.  
  71.     MergeSort(a,0,n-1);
  72.     for(i=0;i<n;i++){
  73.        cout<<a[i];
  74.     }
  75. return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement