归并排序
//归并排序
void Merge(int *cache, int *out, int st, int mid, int en)
{//将两个有序的子序列,合并成最终的长序列
//此处省略n个字
}
void SortMerge(int *data, int *out, int st, int en)
{
int out_cache[1000];
if (st == en)
{
out[st] = data[st];
}
else
{
int mid = (st + en) / 2;
SortMerge(data, out_cache, st, mid);
SortMerge(data, out_cache, mid + 1, en);
Merge(out_cache, out, st, mid, en);
}
}

浙公网安备 33010602011771号