#include<stdio.h>
void merge(int a[],int p,int q,int r)
{
int n1,n2,i,j,k;
int l[5],f[5];
n1=q-p+1;
n2=r-q;
for(i=0;i<n1;i++)
l[i]=*(a+p+i);
for(j=0;j<n2;j++)
f[j]=*(a+q+1+j);
i=0;
j=0;
l[4]=100;
f[4]=100;//多出的一个防止下标越界且要很大
for(k=p;k<=r;k++)
{
if(l[i]<=f[j])
{
*(a+k)=l[i];
i++;
}
else
{
*(a+k)=f[j];
j++;
}
}
for(i=0;i<10;i++)
{
printf("%d ",*(a+i));
}
}
int main()
{
int b[10]={-1,0,2,4,5,7,1,2,3,6};
merge(b,2,5,9);
}