sort-归并排序

时间:2023-03-09 17:47:18
sort-归并排序
void sort_merge(vector<int> &v,int left,int right)
{
if(left>=right) return; int mid=(left+right)/2;
sort_merge(v,left,mid);
sort_merge(v,mid+1,right); vector<int> vtmp;
int i=left,j=mid+1; while(i<=mid&&j<=right)
{
if(v[i]<v[j])
vtmp.push_back(v[i++]);
else
vtmp.push_back(v[j++]);
}
while(i<=mid)
vtmp.push_back(v[i++]);
while(j<=right)
vtmp.push_back(v[j++]); for(int m=left,k=0;m<=right;m++)
v[m]=vtmp[k++];
}