请问我的归并排序哪里出错了 求指导
#include<iostream>
using namespace std;
int mergesort(int a[],int b[],int mm, int nn);
int merge(int low,int midd,int high,int pre[],int pro[]);
int mergesort(int a[],int b[],int mm,int nn) {
int mid;
if(mm<nn){
mid = mm+nn/2;
mergesort(a ,b,mm,mid);
mergesort(a,b,mid+1,nn);
merge(mm,mid,nn,a,b);
}
return 0;
}
int merge(int low,int midd,int high,int pre[],int pro[]){
int a=low,b=midd+1,c=low;
while(a<=midd&&b<=high)
{
if(pre[a]<pre[b]){
pro[c++]=pre[a++];
}
else
pro[c++]=pre[b++];
}
while(a<=midd){
pro[c++]=pre[a++];
}
while(b<=high){
pro[c++]=pre[b++];
}
for(int tt=low;tt<=high;tt++){
pre[tt]=pro[tt];
}
return 0;
}
//主函数
int main(){
int m,n;
cin>>n;
int i[n],j[n];
for(m=0;m<n;m++){
cin>>i[m];
}
mergesort(i,j,0,n-1);
for(int mm=0;mm<10;mm++){
cout<<i[mm];
}
return 0;
}