为什么分配空间失败,求大神啊
#include <stdio.h>#include <stdlib.h>
#include <math.h>
void merge(int *a,int p,int q,int r)
{
int n1,n2,i,k,j,*L,*R;
n1=q-p+1;
n2=r-q;
L=(int*)malloc(sizeof(int)*n1+1);
R=(int*)malloc(sizeof(int)*n2+1);
for(i=0;i<n1;i++)
L=a;
for(j=0;j<n2;j++)
R=a;
L=99999;
R=99999;
i=0,j=0;
for(k=p;k<=r;k++)
{
if(L<=R||R==99999)
{
a=L;
i++;
}
else
{
a=R;j++;
}
}
}
void merge_sort(int *a,int p,int r)
{
int q;
if(p<r)
{
q=(p+r)/2;
merge_sort(a,p,q);
merge_sort(a,q+1,r);
}
merge(a,p,q,r);
}
void main()
{
int a={1,45,78,23,45,65,12,12,23};
merge_sort(a,0,8);
int i=0;
for(i;i<9;i++)
printf("%d\t",a);
}
OK,忘了,o(* ̄︶ ̄*)o 用完记得free 本帖最后由 桃花飞舞 于 2018-4-8 22:30 编辑
楼主这代码什么意思?完全看不懂啊!楼主忘什么了,已经会改了啊
页:
[1]