Byron456 发表于 2022-10-22 18:07:25

大神们,帮我看看主函数和代码哪里错了?纯小白

#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

Byron456 发表于 2022-10-22 18:08:28

大神们,带一带小白吧{:10_254:}

jackz007 发表于 2022-10-22 18:30:03

      说指针 L 没定义,定义一下再看看呢。

两手空空儿 发表于 2022-10-27 17:23:10

你的main函数里没有L这个变量的声名,拿它当参数调用函数肯定不行啊,
是不是第6行全局变量这里有问题   int l,i,e;   把这个 ‘l’改成大写的试试
页: [1]
查看完整版本: 大神们,帮我看看主函数和代码哪里错了?纯小白