C Program For Merge Sort Source Code: #include<stdio.h> #include<conio.h> void show(int A[20],int l,int u) { int i; printf("\n"); for(i=l;i<=u;i++) { printf(" %d",A[i]); } } void merge(int *A,int l,int mid,int u) { int i,j,k,B[20]; i=l; j=mid+1; k=1; while(i<=mid && j<=u) { if(A[i]<A[j]) { B[k]=A[i]; i++; } else { B[k]=A[j]; j++; } k++; } while(i<=mid) { B[k]=A[i]; i++; k++; } while(j<=u) { B[k]=A[j]; j++; k++; } k=l; i=1; while(k<=u) { A[k]=B[i]; k++; i++; } } void merge_sort(int *A,int l,int u) { int mid; if(l<u) { mid=(l+u)/2; merge_sort(A,l,mid); merge_sort(A,mid+1,u); merge(A,l,mid,u); } } void main() { int A[20],n,item,i,ch,l,u; clrscr(); printf("\nEnter upper bound and lower bound:"); scanf("%d,%d",&l,&u); for(i=l;i<=u;i++) { printf("\nEnter element %d :",i); scanf("%d",&A[i]); } merge_sort(A,l,u); printf("\nAfter sorting the array is:\n"); show(A,l,u); getch(); }
Tags:
Sorting
1 comments
Program shesh hoyni toh
ReplyDelete