Advertisement
Guest User

Untitled

a guest
Oct 9th, 2015
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.39 KB | None | 0 0
  1. #include<stdio.h>
  2. #define MAX 50
  3.  
  4. void mergeSort(int arr[],int low,int mid,int high);
  5. void partition(int arr[],int low,int high);
  6.  
  7. int main(){
  8.  
  9.     int merge[MAX],i,n;
  10.  
  11.     printf("Enter the total number of elements: ");
  12.     scanf("%d",&n);
  13.  
  14.     printf("Enter the elements which to be sort: ");
  15.     for(i=0;i<n;i++){
  16.          scanf("%d",&merge[i]);
  17.     }
  18.  
  19.     partition(merge,0,n-1);
  20.  
  21.     printf("After merge sorting elements are: ");
  22.     for(i=0;i<n;i++){
  23.          printf("%d ",merge[i]);
  24.     }
  25.  
  26.    return 0;
  27. }
  28.  
  29.    void partition(int arr[],int low,int high){
  30.  
  31.     int mid;
  32.  
  33.     if(low<high){
  34.          mid=(low+high)/2;
  35.          partition(arr,low,mid);
  36.          partition(arr,mid+1,high);
  37.          mergeSort(arr,low,mid,high);
  38.     }
  39. }
  40.  
  41. void mergeSort(int arr[],int low,int mid,int high){
  42.  
  43.     int i,m,k,l,temp[MAX];
  44.  
  45.     l=low;
  46.     i=low;
  47.     m=mid+1;
  48.  
  49.     while((l<=mid)&&(m<=high)){
  50.  
  51.          if(arr[l]<=arr[m]){
  52.              temp[i]=arr[l];
  53.              l++;
  54.          }
  55.          else{
  56.              temp[i]=arr[m];
  57.              m++;
  58.          }
  59.          i++;
  60.     }
  61.  
  62.     if(l>mid){
  63.          for(k=m;k<=high;k++){
  64.              temp[i]=arr[k];
  65.              i++;
  66.          }
  67.     }
  68.     else{
  69.          for(k=l;k<=mid;k++){
  70.              temp[i]=arr[k];
  71.              i++;
  72.          }
  73.     }
  74.  
  75.     for(k=low;k<=high;k++){
  76.          arr[k]=temp[k];
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement