diff --git a/mergesort.c b/mergesort.c new file mode 100644 index 0000000..a59cd8a --- /dev/null +++ b/mergesort.c @@ -0,0 +1,83 @@ +#include + + +void merge(int a[],int lb,int mid,int ub) +{ + int i,j,k,b[ub+1]; + i=lb; + j=mid+1; + k=lb; + + while(i<=mid && j<=ub) + { + if(a[i]<=a[j]) + { + b[k]=a[i]; + i++; + } + else + { + b[k]=a[j]; + j++; + } + k++; + } + + if(i>mid) + { + while(j<=ub) + { + b[k]=a[j]; + j++;k++; + } + } + else + { + while(i<=mid) + { + b[k]=a[i]; + i++;k++; + } + } + + for(i=lb;i