sun18310664978
sun18310664978
采纳率25%
2020-04-09 00:25

数据结构顺序链表编写出错,如何更正?

已采纳

#include
#include
#define maxlen 50 /*定义数组大小*/
typedef char ElemType; /*将元素数据类型定义为char*/
struct List /*定义顺序表结构体*/
{
ElemType *list;
int len;
};
void InitList(struct List *L)
{
L->list=(ElemType *)malloc(sizeof (ElemType)*maxlen);
if(!L->list) printf("error\n");
L->len=0;

}

void ClearList(struct List L) /置空表*/
{
L->len=0;
}
int LenList(struct List L) /求表长度*/
{
return(L->len);
}
ElemType GetElem(struct List L,int i) /取表中第i个位置的元素*/
{
if(iL->len)
printf("error location\n");
else
return(L->list[i-1]);
}
int FindList(struct List L,ElemType x) /查找*/
{
int i=0;
while(ilen && L->list[i]!=x)
i++;
if(i==L->len)
return(-1);
else
return(i+1);
}
void InserList(struct List L,ElemType x,int i) /在i位置插入元素x*/
{

int j;
if(i<1||i>L->len+1)
{ printf("error location\n");
    return;
}
if(L->len==maxlen)
{
    printf("List overflow\n");
    return;
}
L->len++;
for(j=L->len-1;j>=i;j--)
    L->list[j]=L->list[j-1];
L->list[j]=x;

}
void DeleteList(struct List L,int i) /删除i位置元素*/
{
int j;
if(iL->len)
printf("error location\n");
else
{
for(j=i-1;jlen;j++)
L->list[j]=L->list[j+i];
L->len--;
}
}
void TraverseList(struct List L) /显示单链表*/
{
int j;
if(L->len==0)
printf("the list is null,can't be displayed\n");
else
{ printf("the list is:\t");
if(L->len==1)
printf("%c",L->list[0]);
else
{
for(j=0;jlen-1;j++)
printf("%c--->",L->list[j]);
printf("%c",L->list[j]);
}
printf("\n");
}
}
main()
{
struct List L;
// ClearList(&L);
InitList(&L);
此行为97行报错 InsertList(&L,'a',1);
InsertList(&L,'b',2);
InsertList(&L,'a',1);
InsertList(&L,'c',2);
InsertList(&L,'d',1);
InsertList(&L,'e',2);
TraverseList(&L);
printf("data: %c location: %d\n",'a',FindList(&L,'a'));
printf("location: %d data: %c\n",4,GetElem(&L,4));
printf("delete 2nd node:\n");
DeleteList(&L,2);
TraverseList(&L);
printf("delete 2nd node:\n");
DeleteList(&L,2);
TraverseList(&L);
printf("delete 1st node:\n");
DeleteList(&L,1);
TraverseList(&L);
printf("delete 1st node:\n");
DeleteList(&L,1);
TraverseList(&L);
return 0;
}

错误:cpp(97) : error C2065: 'InsertList' : undeclared identifier

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • qq_39554698 小学狗喵喵叫 1年前

    InserList和InsertList差了一个字母t

    点赞 评论 复制链接分享