void merge_sort(int *num, int low, int hig, int *t) { int mid = low+(hig-low)/2; if (hig-low>1) { int e = low, p = mid, i = low; merge_sort(num, low, mid, t); merge_sort(num, mid, hig, t); while ((e<mid) || (p<hig)) { if ((P>=hig) || (e<mid && num[e]<num[p])) t[i++] = num[e++]; else t[i++] = num[p++]; } for (i=low; i<hig; i++) num[i] = t[i]; } }