请教,这个线性表的顺序结构的程序错在哪里?
#include <stdio.h>#include<stdlib.h>
#define MaxLen 100
typedef int ElemType;
typedef struct {
ElemType data[MaxLen];
int length;
}sqList;
sqList L;
void main()
{
void Initlist(&L);
int Getlen(&L);
ElemType Getelem(&L);
void Locate(&L);
void Inselem(&L);
void Delelem(&L);
void output(&L);
}
void Initlist(sqList *L)
{
L->length=0;
printf("\t Null!\n");
getchar();
}
int Getlen(sqList *L)
{
return L->length;
}
ElemType Getelem(sqList *L)
{
int i;
printf("请输入数据:\n");
scanf("%d",&i);
getchar();
if (i<1||i>L->length)
{
printf("error");
exit(1);
}
return L->data[i-1];
}
void Locate(sqList *L)
{
int i=0;
ElemType x;
printf("请输入你要查找的位置:\n");
scanf("%d",&x);
getchar();
while(i<L->length&&L->data[i]!=x)
i++;
if(i<L->length)
{
printf("请输入你要查找的位置是%d\n",i+1);
}
else
printf("找不到该位置\n");
getchar();
}
void Inselem(sqList *L)
{ int i,j;
ElemType x;
printf("请输入你要插入的数据和位置\n");
scanf("%d %d",&i,&x);
if(i<1||i>L->length+1)
{ printf("Error!");
exit(1);
}
if(L->length==MaxLen)
{ printf("overflow!");
exit(1);
}
for(j=L->length;j>=i;j--)
L->data[j]=L->data[j-1];
L->data[i-1]=x;
L->length++;
printf("\t Null!!");
getchar();
void Delelem(sqList *L)
{
int i=0,j=0;
printf("请输入你想要删除的数据\n");
scanf("%d",&i);
getchar();
if(i<1||i>L->length)
{ printf("not found!");exit(0);}
for(j=i;j=L->length-1;j++)
L->data[j-1]=L->data[j];
L->length--;
printf("\tNull!!");
getchar();
}
void output(sqList *L)
{
int i;
for (i=0;i<Getlen(L);i++)
{
printf("输入顺序表:\n");
printf("%d",L->data[i]);
}
}