搜索
查看: 1393|回复: 16
打印 上一主题 下一主题

求大神,线性表为啥实现不了?

[复制链接]
楼主
发表于 2014-4-15 09:54:03 | 显示全部楼层
本帖最后由 rosynirvana 于 2014-4-15 11:08 编辑

从头改一遍

void seqList_Insert(seqList L[] ,int i,int *len);
void seqList_Delete(seqList L[] ,int i,int *len);
这两个函数原型和下面函数定义冲突了
seqList_Insert(a,&length);
seqList_Delete(a ,&length);
同样,后面的这两句要跟着改

printf("input the number:",MAXSIZE);
这句少了一个占位符?还是后面的MAXSIZE不需要?

printf("input the information(name number score) :\n",*len);
这句一样的问题,前面的格式化字符串里没有占位符,后面却有一个变量

   fflush(stdin);
这句是未定义的,看上去也没必要,后面的scanf是自动跳过空白字符的,去掉


  1.   for(j=(*len)-1;j>=i;j--)//插入前数据挪位
  2.         {        L[j+1]=L[j];//把第i个位置空出来,等待数据插入
  3.         }
  4.         printf("input information(name,number,socre):");
  5.         scanf("%s %s %d",&L[i-1].name,&L[i-1].num,&L[i-1].score);
复制代码

这一段,想必是你把“第i个元素”和“下表是i的元素”搞混了

getchar();
一个getchar通常是没法暂停的,要多写几个
沙发
发表于 2014-4-15 10:15:08 | 显示全部楼层
你说的线性表到底是啥?哪本中文书上自创的名词?
是抽象数据结构还是具体数据结构?
如果是抽象数据结构,它支持哪几个操作?时间复杂度是什么?
板凳
发表于 2014-4-15 10:44:46 | 显示全部楼层
祥子 发表于 2014-4-15 10:30
是具体数据结构中的线性表

具体数据结构?那是哪种语言或哪种库里面的?
C或者它的标准库可是没有所谓线性表这种东西的……
地板
发表于 2014-4-15 10:59:31 | 显示全部楼层
祥子 发表于 2014-4-15 10:54
这是清华大学出版的《数据结构》C语言版里面的

你要考研吗?
不考研就别看那本书了
5#
发表于 2014-4-15 11:15:23 | 显示全部楼层
这段代码可以改成能运行的,但是没多少意义
这书和大多数中文统编教材一样,自己生造出一个完全没必要的粗浅概念
(线性表?不就是RAM上面的一片连续主存吗?或者直接说C上面的array不就行了?)
然后写的代码都是玩具级别的

seqList_Init要求输入一个表的最大长度,但是这个长度又完全不去检测有没有越界,那么把数组再封装一遍又有何意义呢?

这几个函数有重用的价值吗?没有的话为什么要专门写成一个函数呢?写到main里面明显可以更简洁的啊

当然,是为了演示,都是为了演示某个功能的玩具代码

结果一个玩具代码还写得这么凌乱不堪留下安全漏洞
6#
发表于 2014-4-15 16:08:50 | 显示全部楼层
祥子 发表于 2014-4-15 15:39
不是啊,这段代码可以说是这本书的精髓了,只是对这样的结构熟悉一下而已,所以里面有很多漏洞也没有去注 ...

虽然那本书不值得看,但是这么简单的代码,怎么也说不上精髓
其实就是一个array基本操作

  1. /* Delete element at position pos */
  2. for(i=pos; i+1<length; ++i)
  3.   arr[i] = arr[i+1];

  4. /* Insert target at position pos */
  5. for(i=length-1; i>pos; --i)
  6.   arr[i] = arr[i-1];
  7. arr[pos] = target;
复制代码

初始化和输出更简单,学语言的时候一定会讲到,就不再写了
用最基本的array几行就写完了,偏偏用struct array,还要另外封装一个没有重用性的函数

初学者更应该学标准地道的语言和习惯写法,而不是跟着国内瞎掰出来的东西去学
7#
发表于 2014-4-15 21:57:49 | 显示全部楼层
超神级 发表于 2014-4-15 21:45
我发现严蔚敏出版的那本数据结构有好多内容是抄袭别人的...

数据结构这套东西都是老外搞出来的,所以不可能有啥原创性

如果是说代码,其实烂代码看起来都挺相似的……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表