<求助>顺序表的插入.删除.查找...
程序代码:
#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; }
能找出来的我都找了. 是头文件有问题吗?