void mergeArray(int a[],int start,int mid,int endd) { int i,j,m,n; i=start; j=mid+1; m=mid; n=endd; int k=0; while(i<=m&&j<=n) { if(a[i]>a[j]) temp[k++]=a[i++]; else temp[k++]=a[j++]; } while(i<=m) temp[k++]=a[i++]; while(i<=n) temp[k++]=a[j++]; for(int i=0;i<k;i++) a[start+i]=temp[i]; } void marge_sort(int a[],int start,int endd) { int mid=(start+endd)/2; if(start<endd) { marge_sort(a,start,mid); marge_sort(a,mid+1,endd); mergeArray(a,start,mid,endd); } }