分而制之的算法
将输入的数据分成两半
为两半进行递归排序
将两份合并
易分离难结合
只是从中间进行划分
将两部分按顺序合并保存
void MergeSort(Vector<int> &v)
{
if (v.size() > 1) {
int n1 = v.size()/2;
int n2 = v.size() - n1;
Vector<int> left = Copy(v, 0, n1);
Vector<int> right = Copy(v, n1, n2);
MergeSort(left);
MergeSort(right);
Merge(v, left, right);
}
}