关于归并排序的问题
  • 板块学术版
  • 楼主_Mix_
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/8/20 20:05
  • 上次更新2023/11/3 02:23:47
查看原帖
关于归并排序的问题
923194
_Mix_楼主2023/8/20 20:05
#include<bits/stdc++.h>
using namespace std;
void ms(int,int);
int a[101],r[101];
int mian()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	cin>>a[i];
	ms(1,n);
	for(int i=1;i<=n;i++)
	cout<<a[i]<<" ";
	cout<<endl;
}
 void ms(int x,int y)
{
	if(x==y)   //如果只有1个数字则返回
	return;
	int mid=(x+y)/2;
	ms(x,mid);  //分解左序列
	ms(mid+1,y);//分解右序列
	int i=x,j=mid,k=y;  //开始合并
	while(i<=mid && j<=y)
	{
		if(a[i]<=a[j])
		{
			r[k]=a[i];
			k++;i++;
		}
		else
		{
			r[k]=a[j];
			k++;j++;
		}
	}
	while(i<=mid) //复制左边子序列剩余
	{
		r[k]=a[j];
		k++;i++;
	}
    while(j<=y)//复制右边子序列剩余
	{
		r[k]=a[i];
		k++;j++;
	}
	for(int i=x;i<=y;i++)
	a[i]=r[i];
}

but编译错误

why?

2023/8/20 20:05
加载中...