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]; |
} |
} |