鱼C论坛

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

问题求助

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

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

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

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

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



  1. #include<stdio.h>
  2. #include<malloc.h>
  3. #define MAXLEN 100
  4. typedef char DataType;

  5. typedef struct
  6. {
  7.         DataType data[MAXLEN];
  8.         int Length;
  9. }SeqList;
  10. SeqList L;

  11. void InitList(SeqList *L)
  12. {
  13.         L=(SeqList *)malloc(sizeof(SeqList));
  14.         L->Length = 0;
  15. }

  16. void destroyList(SeqList *L)
  17. {
  18.         free(L);
  19. }



  20. //位置查找
  21. int GetElem(SeqList *L,int i,DataType *x)
  22. {
  23.         if(i<1||i>L->Length)
  24.                 return 0;
  25.         else
  26.         {
  27.                 *x=L->data[i-1];
  28.                 return 1;
  29.         }
  30. }


  31. //按值查找
  32. int Locate(SeqList *L,DataType x)
  33. {
  34.         int i=0;
  35.         while(i<L->Length && L->data[i]!=x)
  36.                 i++;
  37.         if(i>=L->Length)
  38.                 return 0;
  39.         else
  40.                 return i+1;
  41. }


  42. //插入
  43. int InsElem(SeqList *L,int i,DataType x)
  44. {
  45.         int j;
  46.         if(L->Length>=MAXLEN)
  47.         {
  48.                 printf("顺序表已满!");
  49.                 return -1;
  50.         }
  51.         if(i<1||i>=L->Length+1)
  52.         {
  53.                 printf("插入位置出错!");
  54.                 return 0;
  55.         }
  56.         if(i==L->Length+1)
  57.         {
  58.                 L->data[i-1]=L->data[j];
  59.                 L->Length++;
  60.                 return 1;
  61.         }
  62.         for(j=L->Length-1;j>=i-1;j--)
  63.         {
  64.                 L->data[j+1]=L->data[j];
  65.                 L->data[i-1]=x;
  66.                 L->Length++;
  67.                 return 1;
  68.         }
  69. }


  70. //删除
  71. int DelElem(SeqList *L,int i,DataType *x)
  72. {
  73.         int j;
  74.         if(L->Length>=0)
  75.         {
  76.                 printf("顺序表为空!");
  77.                 return -1;
  78.         }
  79.         if(i<1||i>=L->Length+1)
  80.         {
  81.                 printf("不存在第i个元素!");
  82.                 return 0;
  83.         }
  84.         *x=L->data[i-1];
  85.         for(j=i;j<L->Length;j++)
  86.         {
  87.                 L->data[j-1]=L->data[j];
  88.                 L->Length--;
  89.                 return 1;
  90.         }
  91. }


  92. //输出
  93. void DispList(SeqList *L)
  94. {
  95.         int i;
  96.         for(i=0;i<L->Length;i++)
  97.         {
  98.                 printf("%5d",L->data[i]);
  99.         }
  100. }

  101. main()
  102. {

  103. SeqList *L;
  104. printf("依次插入a,b,c,d,e元素\n");
  105. InsElem(L,1,'a');
  106. InsElem(L,2,'b');
  107. InsElem(L,3,'c');
  108. InsElem(L,4,'d');
  109. InsElem(L,5,'e');
  110. printf("输出顺序表L:");
  111. DispList(L);
  112. printf("输出顺序表L的长度:%d\n",getLength(L));
  113. printf("顺序表L为%s\n",(Listempty(L)?"空":"非空"));
  114. GetElem(L,3,&x);
  115. printf("顺序表L的第3个元素:%c\n",x);
  116. printf("元素a的位置:%d\n",Locate(L,'a')) ;
  117. InsElem(L,4,'f');
  118. DispList(L);
  119. DelElem(L,3,&x);
  120. DispList(L);
  121. destroyList(L);
  122. return 0;
  123. }
复制代码

报错是这样的

报错是这样的

代码要求

代码要求
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

138、139、143行,x 未定义,此外函数 getLength、Listempty 未定义,是你自己写的么?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-20 20:00:47 | 显示全部楼层
你把错误内容贴出来能更快、更有针对的解决你的实际问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-20 22:54:42 | 显示全部楼层
算法是书上的,还有加了自己的一些理解乱写了一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

算法是书上的,主函数是自己的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-26 00:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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