Thank you all for being with us.
Learn, Create and Implement.

  • Build Concept

    You can build your concept in programming on programsway.com.

  • Examples

    There are many C Programming examples on programsway.com.

  • Ask Questions

    Ask questions and get quick answers. Request any program and we will publish that program.

  • Wednesday 18 September 2013

    #include<stdio.h>
    #include<stdlib.h>
    int *a;
    void m_sort(int,int);
    void sort(int,int,int);

    main()
    {
      int n,i;
      printf("Enter the number of elements (it should be power of 2) ");
      scanf("%d",&n);
      a=(int *)calloc(n,sizeof(int));
      printf("Enter the values ");
      for(i=0;i<n;i++)
      scanf("%d",a+i);
      m_sort(0,n-1);
      printf("The sorted array is \n");
      for(i=0;i<n;i++)
      printf("%d ",a[i]);
      return;
    }
    void m_sort(int i,int j)
    {
      int mid;
      if(j-i==0)
      return;
      else
      {
      mid=(i+j)/2;
      m_sort(i,mid);
      m_sort(mid+1,j);
      sort(i,mid,j);
      return;
      }
    }
    void sort(int i,int mid,int j)
    {
      int *b,k,n,m;
      n=i;
      m=mid+1;
      b=(int *)calloc((j+1),sizeof(int));
      for(k=0;k<=j;k++)
      {
      if(n<=mid&&m<=j)
      {
      if(a[n]<a[m])
      b[k]=a[n++];
      else
      b[k]=a[m++];
      }
      else if(n>mid)
      b[k]=a[m++];
      else
      b[k]=a[n++];
      }
      for(k=0;k<=j;k++)
      a[i++]=b[k];
      return;
    }

    0 comments:

    Post a Comment