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