救救孩子,这里怎么会没有定义啊,下面不是已经定义了吗

#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define OVERFLOW -2
//数据结构
typedef int Status;
typedef int ElemType;
typedef struct LNode
{
    ElemType data;
    struct LNode* next;
}LNode, * LinkList;
//函数声明
int menu_select();
void  CreateList_L(LinkList& L, int n);
void PrintList_L(LinkList L);
Status GetElem_L(LinkList L, int i, ElemType& e);
Status  ListInsert_L(LinkList& L, int i, ElemType e);
Status ListDelete_L(LinkList& L, int i, ElemType& e);
Status LocateElem_L(LinkList L, ElemType e);

int main()
{
    LinkList L{};
    int n;
    for (;;)
    {
        switch (menu_select())
        {
        case 1:
            printf("please input the number of the component:");
            scanf("%d", &n);
            CreateList_L(L, n);
            printf("finished\n");
            break;
        case 2:
            PrintList_L(L);
            break;
        case 3:
            printf("Calling GetElem_L \n");
            GetElem_L(L, i, e);
            break;
        case 4:
            printf("Calling ListInsert_L\n");
              ListInsert_L( L,  i,  e);                        //调用函数
            break;
        case 5:
            printf("Calling  ListDelete_L\n");
            Status ListDelete_L(LinkList & L, int i, ElemType & e);                                  //调用函数
            break;
        case 6:printf("Calling LocateElem_L\n");
            LinkList LocateElem_L(LinkList L, ElemType e);                                              //调用函数
            break;
        case 0:
            printf("finished,thanks \n\n");
            exit(0);
        }
    }
    return 0;
}

int menu_select()
{
    int sn;
    printf("\n show menu \n");
    printf("1.create\n");
    printf("2.show\n");
    printf("3.get\n");
    printf("4.insert\n");
    printf("5.delete\n");
    printf("6.find\n");
    printf("0.exit\n");
    printf("input 0-6:");
    for (;;)
    {
        scanf("%d", &sn);
        if (sn < 0 || sn>6)
            printf("\n error reselect 0-6:");
        else
            break;
    }
    return sn;
}
//创建单链表,头插法,已知线性表的长度1
void CreateList_L(LinkList& L, int n)
{
    LinkList p;
    int i;
    L = (LinkList)malloc(sizeof(LNode));
    L->next = NULL;
    printf("input number%d:\n", n);
    for (i = n; i >= 1; i--)
    {
        p = (LinkList)malloc(sizeof(LNode));
        scanf("%d", &p->data);    //格式输入字符串补出来
        p->next = L->next;
        L->next = p;
    }
}
//输出单链表2
void PrintList_L(LinkList L)
{
    LinkList p;
    p = L->next;
    printf("output:\n");
    while (p)
    {
        printf("%d\t", p->data);
        p = p->next;
    }
    printf("\n");
}
//其他功能的提示:
//取元素函数3
int GetElem_L(LinkList L, int i, ElemType& e)
{
    LinkList p;
    int j;
    p = L->next; j = 1;
    while (p && j < 1)
    {
        p = p->next;
        ++j;
    }
    if (!p || j > i)
        return ERROR;
    e = p->data;
    return OK;                                                     //请补充
}
//插入函数4  
Status  ListInsert_L(LinkList& L, int i, ElemType e)
{
    LinkList p;
    LinkList s;
    int j;
    p = L; j = 0;
    while (p && (j < i - 1))
    {
        p = p->next; ++j;

    }
    if (!p || j > i - 1) return 0;
    s = new LNode;
    s->data = e;
    s->next = p->next;
    p->next = s;
    return OK;
    //请补充

}
//删除函数5  
Status ListDelete_L(LinkList& L, int i, ElemType& e)
{
    LinkList p;
    LinkList q;
    int j;
    p = L; j = 0;
    while ((p->next) && (j < i - 1))
    {
        p = p->next;
        ++j;
    }
    if (!(p->next) || (j > i - 1))
        return ERROR;
    q = p->next;
    p->next = q->next;
    delete q;
    return OK;

    //请补充

}

//取元素6  
int LocateElem_L(LinkList L, ElemType e)//找到返回逻辑位序,未找到返回0
{
    LinkList P;
    int K = 0;
    P = L;
    while (P != NULL && K < e)
    {
        P = P->next;
        K++;
    }
    if (P == NULL)
    {
        return 0;
    }
}

 

i,和e为啥显示无定义

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值