Choose Category
/* Merge Sort, Written in C, Author: Juneja Afzal, T.E, computer engg */ #include<stdio.h> #include<stdlib.h> #include<conio.h> main() { int a[50],n,low,high,mid,i; void mergesort(int a[50] ,int ,int); // void combine(int,int ,int); void display(int a[50],int); printf("\nENter the number of element for arrra==="); scanf("%d",&n); printf("\n*******Enter the Elements****\n"); for(i=0;i<=n-1;i++) { printf("\nENter the element number %d=== ",i+1); scanf("%d",&a[i]); } low=0; high=n-1; // mergesort(a,low,high); display(a,n); } void mergesort(int a[], int low, int high) { int mid; void combine(int a[], int, int, int); if(low<high) { mid=(low+high)/2; mergesort(a,low,mid); mergesort(a,mid+1,high); combine(a,low,mid,high); } } void combine(int a[], int low, int mid, int high) { int i,j,k,temp[50]; i=low; k=low; j=mid+1; while(i<=mid && j<=high) { if(a[i]<=a[j]) { temp[k]=a[i]; i++; k++; } else { temp[k]=a[j]; j++; k++; } } while(i<=mid) { temp[k]=a[i]; i++; k++; } while(j<=high) { temp[k]=a[j]; j++; k++; } for(k=low;k<=high;k++) { a[k]=temp[k]; } } void display(int a[],int n) { int i=0; printf("\n*********THE SORTED LIST IS USING MERGE SORT*********\n"); for(i=0;i<=n-1;i++) { printf("\n \t %d",a[i]); } }