大神们,帮我看看主函数和代码哪里错了?纯小白
#include<stdio.h>#include<stdlib.h>
#define Maxsize 50
typedef int ElemType;
int length;
int l,i,e;
typedef struct
{
ElemType data; //存放线性表中的元素
int length; //存放线性表的长度
}SqList; //顺序表类型
//建立顺序表 CreateList(&L,a,n)
void CreateList(SqList*&L,ElemType a[],int n)//由a中的n个元素建立顺序表
{
int i=0,k=0; //k表示L中元素的个数,初始值为0
L=(SqList*)malloc(sizeof(SqList)); //分配存放线性表的空间
while(i<n)
{
L->data=a; //将元素a存放在L中
k++;i++;
}
L->length=k; //设置L的长度为k
L->length=0;
}
//初始化线性表 InitList(&L)
void InitList(SqList*&L)
{
L=(SqList*)malloc(sizeof(SqList));//分配存放线性表的空间
L->length=0; //置空表长度为0
}
//销毁线性表 DestroyList(&L)
void DestroyList(SqList*&L)
{
free(L); //释放L所指的顺序表空间
}
//判断线性表是否为空 ListEmpty(L)
bool ListEmpty(SqList *L)
{ return (L->length==0);}
//求线性表的长度 ListLength(L)
int ListLength(SqList*L)
{
return (L->length);
}
//输出线性表 DispList(L)
void DispList(SqList*L)
{
for(int i=0;i<L->length;i++)
printf("%d",L->data);
printf("\n");
}
//按序号求线性表的元素 GetElem(L,i,&e)
bool GetElem(SqList*L,int i,ElemType &e)
{
if(i<1||i>L->length)
return false;
e=L->data;
return true;
}
//按元素值查找 LocateElem(L,e)
int LocateElem(SqList*L,ElemType e)
{
int i=0;
while(i<L->length&&L->data!=e)
i++;
if(i>L->length)
return 0;
else
return(i+1);
}
//插入数据元素 ListInsert(&L;i;e)
bool ListInsert(SqList*&L,int i,ElemType e)
{
int j;
if(i<1||i>L->length+1||L->length==Maxsize)
return false;
i--;
for(j=L->length;j>i;j--)
L->data=e;
L->length++;
}
//删除数据元素 ListDelete(&L;i;&e)
bool ListDelete(SqList*&L,int i,ElemType &e)
{
int j;
if(i<1||i>L->length)
return false;
i--;
e=L->data;
for(j=i;j<L->length-1;j++)
L->data=L->data;
L->length--;
return true;
}
void main()
{ CreateList;
InitList(&L);
DestroyList(&L);
ListEmpty(L);
ListLength(L);
DispList(L);
GetElem(L,i,&e);
LocateElem(L,e);
ListInsert(&L,i,e);
ListDelete(&L,i,&e);}显示是下面主函数InitList(&L)error C2065: 'L' : undeclared identifier
大神们,带一带小白吧{:10_254:} 说指针 L 没定义,定义一下再看看呢。 你的main函数里没有L这个变量的声名,拿它当参数调用函数肯定不行啊,
是不是第6行全局变量这里有问题 int l,i,e; 把这个 ‘l’改成大写的试试
页:
[1]