#include #include void Merge(int* a, int d1, int d2) { int* novi = (int*) malloc(sizeof(int) * (d1+d2)); int i=0, j1=0, j2=0; while(j1 < d1 && j2 < d2) novi[i++] = (a[j1] <= a[d1+j2]) ? a[j1++] : a[d1+j2++]; while(j1 < d1) novi[i++] = a[j1++]; while(j2 < d2) novi[i++] = a[d1+j2++]; for(i=0; i1) { int d1 = d/2; int d2 = d - d1; SortMerge(a, d1); SortMerge(a+d1, d2); Merge(a, d1, d2); } } void Print(int* niz, int d) { int i; for(i=0; i