鱼C论坛

 找回密码
 立即注册
查看: 1102|回复: 4

问题求助

[复制链接]
发表于 2021-10-20 19:13:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 最强废铁h 于 2021-10-20 23:29 编辑

就是编译不成功,出错的地方看不懂,百度好像也没有


#include<stdio.h>
#include<malloc.h>
#define MAXLEN 100
typedef char DataType;

typedef struct 
{
        DataType data[MAXLEN];
        int Length;
}SeqList;
SeqList L;

void InitList(SeqList *L)
{
        L=(SeqList *)malloc(sizeof(SeqList));
        L->Length = 0;
}

void destroyList(SeqList *L)
{
        free(L);
}



//位置查找
int GetElem(SeqList *L,int i,DataType *x)
{ 
        if(i<1||i>L->Length)
                return 0;
        else
        {
                *x=L->data[i-1];
                return 1;
        }
}


//按值查找
int Locate(SeqList *L,DataType x)
{
        int i=0;
        while(i<L->Length && L->data[i]!=x)
                i++;
        if(i>=L->Length)
                return 0;
        else 
                return i+1;
}


//插入
int InsElem(SeqList *L,int i,DataType x)
{
        int j;
        if(L->Length>=MAXLEN)
        {
                printf("顺序表已满!");
                return -1;
        }
        if(i<1||i>=L->Length+1)
        {
                printf("插入位置出错!");
                return 0;
        }
        if(i==L->Length+1)
        {
                L->data[i-1]=L->data[j];
                L->Length++;
                return 1;
        }
        for(j=L->Length-1;j>=i-1;j--)
        {
                L->data[j+1]=L->data[j];
                L->data[i-1]=x;
                L->Length++;
                return 1;
        }
}


//删除
int DelElem(SeqList *L,int i,DataType *x)
{
        int j;
        if(L->Length>=0)
        {
                printf("顺序表为空!");
                return -1;
        }
        if(i<1||i>=L->Length+1)
        {
                printf("不存在第i个元素!");
                return 0;
        }
        *x=L->data[i-1];
        for(j=i;j<L->Length;j++)
        {
                L->data[j-1]=L->data[j];
                L->Length--;
                return 1;
        }
}


//输出
void DispList(SeqList *L)
{
        int i;
        for(i=0;i<L->Length;i++)
        {
                printf("%5d",L->data[i]);
        }
}

main()
{

SeqList *L;
printf("依次插入a,b,c,d,e元素\n");
InsElem(L,1,'a');
InsElem(L,2,'b');
InsElem(L,3,'c');
InsElem(L,4,'d');
InsElem(L,5,'e');
printf("输出顺序表L:");
DispList(L);
printf("输出顺序表L的长度:%d\n",getLength(L));
printf("顺序表L为%s\n",(Listempty(L)?"空":"非空"));
GetElem(L,3,&x);
printf("顺序表L的第3个元素:%c\n",x);
printf("元素a的位置:%d\n",Locate(L,'a')) ;
InsElem(L,4,'f');
DispList(L);
DelElem(L,3,&x);
DispList(L);
destroyList(L);
return 0;
}

报错是这样的

报错是这样的

代码要求

代码要求
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-20 19:38:43 | 显示全部楼层
本帖最后由 hrpzcf 于 2021-10-20 20:13 编辑

138、139、143行,x 未定义,此外函数 getLength、Listempty 未定义,是你自己写的么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-20 20:00:47 | 显示全部楼层
你把错误内容贴出来能更快、更有针对的解决你的实际问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-20 22:54:42 | 显示全部楼层
算法是书上的,还有加了自己的一些理解乱写了一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-20 22:57:45 | 显示全部楼层
hrpzcf 发表于 2021-10-20 19:38
138、139、143行,x 未定义,此外函数 getLength、Listempty 未定义,是你自己写的么?

算法是书上的,主函数是自己的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 17:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表