// // 归并排序
void mergeSort(vector<int> &array, int left,int right,vector<int>& new_array)
{
if(left >= right)
return;
int mid = left + (right - left)/2;
mergeSort(array, left, mid, new_array);
mergeSort(array, mid+1, right, new_array);
for(int i = left; i<= right;i++)
{
new_array[i] = array[i];
}
int i = left;
int j = mid+1;
int k = left;
while(i <= mid && j<= right)
{
if(new_array[i] <= new_array[j])
{
array[k++] = new_array[i++];
}
else
{
array[k++] = new_array[j++];
}
}
while(i <= mid)
{
array[k++] = new_array[i++];
}
}