#include <iostream>
#include <vector>
using namespace std;
//这里将结果保存到了res数组中了void merge_sort(vector<int> &nums,int left,int right,vector<int> &res)
{
if(left>=right)
return;
int mid=left+(right-left)/2;
merge_sort(nums, left, mid,res);
merge_sort(nums, mid+1, right,res);
int i=left,j=mid+1,k=0;
while (i<=mid&&j<=right) {
if (nums[i]<=nums[j]) {
res[left+k]=nums[i++];
}
else
{
res[left+k]=nums[j++];
}
k++;
}
while (i<=mid) {
res[left+k]=nums[i++];
k++;
}
while (j<=right) {
res[left+k]=nums[j++];
k++;
}
}
int main()
{
vector<int> nums={1,-2,3,10,-4,7,2,-5};
int n=nums.size();
quickSort(nums,0,n-1);
vector<int> res(8);
merge_sort(nums, 0, n-1, res);
for(int x:res)
cout<<x<<" ";
return 0;
}