初学者线性表,想拆分线性表 eb那行一直报错,ea就没有,都初始化了为什么还是不行?
#include <stdlib.h>
#include <malloc.h>
#define MAXSIZE 100
typedef int ElemType;
typedef struct
{
ElemType *elem; //存放顺序表中的元素
int length; //存放顺序表的长度
int Listsize;
} SqList;
//其他基本操作定义省略了
void InitList(SqList *&L)
{
L=(SqList *)malloc(sizeof(SqList));
L->elem = (ElemType*)malloc(sizeof(ElemType)*MAXSIZE);
L->length=0;
}
int DividList(SqList *L,SqList *La,SqList *Lb)
{
if(L->length<=1)
return 0;
ElemType *e,*ea,*eb;
InitList(La);
InitList(Lb);
*ea = La->length = L->length/2;
*eb = Lb->length = L->length/2-La->length; //这行一直报Segmentation fault,上边就没事
for(e=L->elem;e<=&(L->elem[La->length-1]);)
*ea++ = *e++;
while(e <= &(L->elem[L->length-1]))
*eb++ = *e++;
return 0;
}