好多错误,帮忙改下啊
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define list_init_size 100
#define listincrement 10
struct Sqlist{
int *elem;
int length;
int listsize;
};
void AgainMalloc(Sqlist &L)
{
int *p=(int *)realloc(L->elem,2*list_init_size*sizeof(int));
if(!p)
{
printf("存储空间分配失败!!");
exit(1);
}
L.elem=p;
L.listsize=2*L.listsize;
}
/* 初始化线性表L,即进行动态存储空间分配并置L为一个空表 */
void InitList_Sq(Sqlist &L)
{
L.elem=(int *)malloc(list_init_size*sizeof(int));
if(!L.elem)exit(1);
L.length=0;
L.listsize=0;
}//InitList_Sq
/* 清除线性表L中的所有元素,释放存储空间,使之成为一个空表 */
void clearList(Sqlist &L)
{
if(L->elem !=NULL)
{
free(L->elem);
L->elem=0;
L->length=0;
L->listincrement=0;
}
}
/* 返回线性表L当前的长度,若L为空则返回0 */
int Sizelist(Sqlist &L)
{
return L->length;
}
/* 判断线性表L是否为空,若为空则返回1, 否则返回0 */
int Emptylist(Sqlist &L)
{
if(L->length==0)return 1;
return 0;
}
/* 返回线性表L中第pos个元素的值,若pos超出范围,则停止程序运行 */
int Getelem(Sqlist &L,int pos)
{
if(pos<1 || pos>L->size)
{
printf("元素序号越界!");
exit(1);
}
return L->elem[pos-1];
}
/* 顺序扫描(即遍历)输出线性表L中的每个元素 */
void Traversqlist(Sqlist &L)
{
for(int i=0;i<L->length;i++)
printf("%d",L->elem[i]);
}
/* 向线性表L的表尾插入元素x */
void Insertlist(Sqlist &L,int x)
{
if(L->length == L->listsize)Againmalloc(L);
L->elem[L->length]=x;
L->length++;
}
/************************************************************************/
int main()
{
int a[10]={2,5,24,86,92,41,73,26,58,56};
struct Sqlist L;
InitList_Sq(L);
for(int i=0;i<10;i++)
{
Insertlist(L,a[i]);
}
Traversqlist(L);
return 0;
}