sunxuejun 发表于 2018-4-8 20:12:00

为什么分配空间失败,求大神啊

#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);
}


sunxuejun 发表于 2018-4-8 20:14:49

OK,忘了,o(* ̄︶ ̄*)o

BngThea 发表于 2018-4-8 20:29:40

用完记得free

桃花飞舞 发表于 2018-4-8 22:28:33

本帖最后由 桃花飞舞 于 2018-4-8 22:30 编辑

楼主这代码什么意思?完全看不懂啊!楼主忘什么了,已经会改了啊
页: [1]
查看完整版本: 为什么分配空间失败,求大神啊