马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#include<stdlib.h>
#define Maxsize 50
typedef int ElemType;
int length;
int l,i,e;
typedef struct
{
ElemType data[Maxsize]; //存放线性表中的元素
int length; //存放线性表的长度
}SqList; //顺序表类型
//建立顺序表 CreateList(&L,a[n],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[k]=a[i]; //将元素a[i]存放在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[i]);
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[i-1];
return true;
}
//按元素值查找 LocateElem(L,e)
int LocateElem(SqList*L,ElemType e)
{
int i=0;
while(i<L->length&&L->data[i]!=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[i]=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[i];
for(j=i;j<L->length-1;j++)
L->data[j]=L->data[j+1];
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
|