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++];
}

相关文章:

  • 2022-02-11
  • 2021-10-24
  • 2021-08-17
  • 2021-09-06
  • 2021-09-17
  • 2021-07-29
猜你喜欢
  • 2021-07-17
  • 2022-01-04
  • 2021-11-14
  • 2021-12-15
  • 2022-03-02
相关资源
相似解决方案