MY name is ruhul amin

ISLAMIC UNIVERSITY OF KUSHTIA

Tuesday, April 2, 2013

merge sort of c++

#include <iostream>
#define max 1000
using namespace std;
class name
{
 private:
 int q;
 public:
void merge(int b[],int p,int r);
};
void name::merge(int b[],int p,int r)
{
    if(p<r)
    {
    q=(p+r)/2;
    merge(b,p,q);
    merge(b,q+1,r);
    msort(b,p,q,r);
    }
}

}
void msort(int b[],int p,int q,int r)
{
    int n1,n2,s,v,j;
    int L[max];
    int R[max];
    n1=p-q+1;
    n2=r-q;
    for(int i=1;i<=n1;i++)
    L[i]=b[i+p-1];
    for(int j=1;j<=n2;j++)
    R[j]=b[q+j];
    s=1;
    v=1;
    for(int k=p;k<=r;k++)
    {
        if(L[s]<=R[v])
        {
         b[k]=L[s];
         s=s+1;
        }
        else
        {
            b[k]=R[v];
            v=v+1;
        }

    }
}
int main()
{
    name ob;
    int n,t,i;
    int b[max];
    t=1;
    while(cin>>n)
    {
        for(i=1;i<=n;i++)
        {
        cin>>b[i];
        }
        ob.merge(b,t,n);
        for(i=1;i<=n;i++)
        cout<<b[i];


    }
    return 0;
}

No comments:

Post a Comment