|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
|
|