c++归并哪错了?

Help!!!!!

大佬帮忙看看哪里有问题!!!

#include<bits/stdc++.h>
using namespace std;
int a[1001],b[1001];
void merge_sort(int l,int r)
{
	if(l==r) return;
	int mid=(l+r)/2;
	merge_sort(l,mid);
	merge_sort(mid+1,r);
	int i=l,j=mid+1,c=r;
	while(i<=mid&&j<=r)
	{
		if(a[i]<a[j])b[c++]=a[i++];
		else 
			b[c++]=a[j++];	
	}
	while(i<=r)b[c++]=a[i++];
	while(j<=r)b[c++]=a[j++];
	for(i=l;i<=r;i++) a[i]=b[i]; 
}
int main()
{
	int n,i;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	merge_sort(1,n);
	for(i=2;i<=n;i++)
	{
		cout<<a[i]<<endl;
	}
	return 0;
} 
发布了2 篇原创文章 · 获赞 0 · 访问量 37

猜你喜欢

转载自blog.csdn.net/qq_47145669/article/details/105578888
今日推荐