数据结构帮忙改正
#include"stdio.h"#define MAXSIZE 50
#define ERROR 0
#define ok 1
typedef char Elemtype;
typedef struct
{
Elemtype list[MAXSIZE];
int length;
}sqlist;
void setnull(sqlist *l)
{
l->length=0;
}
int leng (sqlist *l)
{
return (l->length);
}
void insert(sqlist *l,Elemtype x,int i)
{
int j;
if(i<1||i>l->length+1)
printf("ERROR");
else
{
l->length++;
for(j=l->length-1;j>=i;j--)
l->list[j]=l->list[j-1];
l->list[j-1]=x;
}
}
void deletList(sqlist *l,Elemtype *x,int i)
{
int j;
*x=l->list[i];
if (i<1||i>l->length+1)
printf("错误!");
else
{
for(j=l->length-1;j>=i;j--)
l->list[j]=l->list[j+1];
l->length--;
}
printf("ok!");
}
void output(sqlist *l)
{
int i;
for(i=0;i<l->length;i++)
printf("%c\t",l->list[i]);
}
void main( )
{
sqlist *l;
int x,q;
char p;
setnull(l);
insert(l,'a',1);
insert(l,'b',2);
insert(l,'c',3);
output(l);
printf("请输入要删除的数和位置:");
scanf("%c\t%d\n",&p,&q);
deletList(l,&p,q);
x=leng(l);
printf("%d",x);
getch();
}