一、归并排序的思想:
1.每次将一组数分为两组,直到不能再分为止;
2.从个数最小的数组开始比较,每次将比较大(或小)的数放入辅助数组中,辅助数组的下标+1,如此循环,直到有一个数组比较完,此时如果另外一个数组有剩余,就将剩余的这些数字全部按顺序加入辅助数组中。从最小的数组向上一步步累加,如果每次小的数组有序,那么合并以后的数组就有序。(下面这幅图给出的是一种分割两个数组的方法,分的时候最好从中间分)
二、归并排序的递归实现
void _MergeSort(int* a,int* tmp,int left,int right)
{
int mid = left + ((right-left)>>1); //每次找到