status Insertlist(Sqlist &L,int i,Elemtype e){
Elemtype *p; //在这里定义了一个*p的指针,为什么不是结构体
int j;
if(L.length==L.listsize)
printf("内存分配空间已不够,请重新分配:\n");
p=L.elem;
L.elem=(Elemtype *)realloc(p,(LISTSIZE+L.listsize)*sizeof(Elemtype));
//这段代码求realloc 后面的意思,最好从内存处理上解
if(!p){
printf("分配空间失败");
exit(0);
}
L.elem=p;
L.length++;
L.listsize=L.listsize+LISTSIZE_INCE;
if(i<1||i>L.length){ //这里以前遇到过好多次,i怎么可能又下于1又大于L.length,如果i大于L.length的话那不就直接可以判定为错误了吗
printf("插入位置输入不正确,请重新操作:\n");
return 0;
}
else{
for(j=L.length-1;j>=i;j--)
L.elem[j+1]=L.elem[j];
L.elem[i]=e;
return 1;
}
return 1;
}
你说的很多地方不对,抱歉,不过还是十分感谢