<求助>顺序表的插入.删除.查找...
程序代码:#include<stdio.h>
#include<malloc.h>
/*分配内存空间*/
#define size 100
#define increment 10
typedef struct
{
ElemType *elem;
int length;
int listsize;
}SqList;
/*初始化顺序表*/
{
L->elem=(ElemType *)malloc(size* sizeof(ElemType));
if(!L->elem)
return 0;
L->length = 0;
L->listsize = size;
return 1;
}
/*插入元素*/
int insert(SqList *L,int i,ElemType e)
{
int j;
ElemType *newbase;
if(i<1||i>L->length+1)
return 0;
if(L->length>=L->listsize)
{
newbase = ((ElemType * )realloc(L->elem,(L->listsize + increment)* sizeof(ElemType));
if(!newbase)
return 0;
L->elem = newbase;
L->listsize += increment;
}
for(j = L->length-1;j>=i-1;j--)
L->elem[j+1] = L->elem[j];
L->elem[i-1] = e;
++L->length;
return 1;
}
/*删除*/
int Dele(SqList *L,int i,ElemType *e)
{
int j;
if(i<1||i>L->length)
return 0;
*e=L->elem[i-1];
for(j = i-1;j<L->length-1;j++)
L->elem[j] = L->elem[j+1];
--L->length;
return 1;
}
/*查找*/
int search(SqList *L,ElemType *e)
{
int i=1;
while(i<=L.length && L.elem[i-1]!=e)
i++;
if(i<=L.length)
return 1;
else 0;
}
/*主程序*/
int main()
{
SqList L;
int status,e,i;
status = List(&L);
if(status)
printf("初始化成功");
else
{
printf("初始化失败");
return 0;
}
InputSqlist(&L);
PrintSqlist(L);
status = insert(&L,3,17);
if(status)
{
printf("\n\n\n新顺序表");
PrintSqlist(L);
}
else
{
printf("\n\n\n插入失败");
return 0;
}
status = Dele(&L,9,&e);
if(status)
{
printf("\n\n删除了:%d",e);
printf("\n新顺序表:");
PrintSqlist(L);
}
i=search(L,127);
printf("\n\n第%d个元素为127",i);
free(L.elem);
return 0;
}
能找出来的我都找了. 是头文件有问题吗?






