大佬帮忙看看归并排序编译的时候就出现这个了:cpp:(.text+0xa3): undefined reference to `mergesort(int*,
#include<stdio.h>#include<stdlib.h>
#include<limits.h>
void mergesort(int A[2000],int l,int r);
void merge(int A[2000],int l,int m,int r);
int main()
{
int n,a[2000],b[2000]={0},i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
mergesort(a,1,n); //归并排序
j=1;
for(i=1;i<=n;i++)
{
if(b[j]!=a[i])
{
b[j]=a[i];
j++;
}
}
j=1;
while(b[j]!=0)
{
printf("%d ",b[j]);
j++;
}
return 0;
}
//归并排序
void margesort(int A[2000],int l,int r)
{
int m;
if(r>l)
{
m=(l+r)/2;
mergesort(A,l,m);
mergesort(A,m+1,r);
merge(A,l,m,r);
}
}
//归并排序
void merge(int A[2000],int l,int m,int r)
{
int L[2000],R[2000],p,q,i,n1,n2;
n1=m-l+1;
n2=r-m+1;
for(i=1;i<=n1;i++)
L[i]=A[l+i-1];
for(i=1;i<=n2;i++)
R[i]=A[m+i];
L[n1+1]=0x3f3f3f3f;
R[n2+1]=0x3f3f3f3f;
p=1;q=1;
for(i=l;i<=r;i++)
{
if(L[p]>=R[q])
{
A[i]=R[q];
q++;
}
else
{
A[i]=L[q];
q++;
}
}
}