#include #include #include #include #include using namespace std; const int n=4; void merge(int *,int, int , int ); void mergesort(int *a, int low, int high) { int mid; if (low < high) { mid=(low+high)/2; mergesort(a,low,mid); mergesort(a,mid+1,high); merge(a,low,high,mid); } return; } void merge(int *a, int low, int high, int mid) { int i, j, k, c[50]; i = low; k = low; j = mid + 1; while (i <= mid && j <= high) { if (a[i] < a[j]) { c[k] = a[i]; k++; i++; } else { c[k] = a[j]; k++; j++; } } while (i <= mid) { c[k] = a[i]; k++; i++; } while (j <= high) { c[k] = a[j]; k++; j++; } for (i = low; i < k; i++) { a[i] = c[i]; } } int main() { int arrval[n]={3,1,2,3}; mergesort(arrval,0,3); int max_val=arrval[n-1]; for(int i=0;i