数据结构顺序表

<数据结构-基本概念 -1>

笔记

欲速则不达,建议先完成 的任务!

继续学习

通关时间从学习第1个课程开始计时

12天内通关,可获得赏金100元

开始学习
该课程需要登录后才能观看
3400 位同学正在学习! 查看详情

Usopp

1

回答

顺序表问题

二莹子回复:

防止头文件重复包含,在以后的工作中,一个项目会由许多人共同完成,中后期每个人都会提交一份实现自己负责的代码包,里面肯定会包含头文件的,汇总的时候保不齐里面有多份内容相同的头文件,这里的条件编译就是防止在同一工程里有相同内容的头文件然后发生宏、函数、结构体类型等重复定义的现象。

一条海带

1

回答

代码字体太小

韩hyr回复:

哈哈,可以尝试用pc全屏观看,这门课程的代码量大,为了可以展示全代码,这个多少会有影响。

我君

1

回答

return-1

韩hyr回复:

一般咱们return  0代表正常执行,-1代表执行中途有错误产生;当然这个你只要代码相关设置是匹配的,可以设置你觉得顺的返回值

我君

1

回答

L->last的值为什么会决定顺序表是否为空?

韩hyr回复:

顺序表的空间是不会消失的,因为是数组,数组是系统在程序执行时自动分配空间,程序结束释放,所以可以不访问就控制了有效数据的个数。

kris

1

回答

test文件为什么不调用create_seqlist

韩hyr回复:

具体得看你怎么写的代码,有问题在群里提问,这样解决方便。

alucard

2

回答

关于List->Last

alucard回复:

好的,谢谢老师解答。明白了。

千柳静蕾

1

回答

关于typedef在结构体上的用法

小灰灰回复:

typedef的作用就是给变量或变量类型或其他进行重命名,就好比有个人叫张三,typedef 张三   阿猫; 下次叫他阿猫也就是叫张三,就像是我们经常有个名字,然后别人给你起个外号一样,叫这个外号也是叫你,这个外号也指代你,所以用seqlist_t *L定义变量也是没问题的,本质上还是 struct 结构体名 的类型。

进步我最大

1

回答

顺序表置空问题

韩hyr回复:

这个表的内存是不会被销毁的,我们谈的使用内存只是对一块内存的使用权问题,如果设置last = -1是利用了数组下标是从0开始的规则,用-1表示没有存储数据到顺序表的(顺序表为空),其实数组还是存在的,只是我们人为的认为不需要其存储的数据。

凌宇灬卿輝

1

回答

关于头文件

王建峰回复:

当然可以...

小坤子

2

回答

为啥我用学习卡激活了,要给钱才能看呢

神一样的存在回复:

学习卡有部分是免费的,有部分是收费的。 让你体验一部分。 否则全部的课程都免费给你了,企业还怎么活,,就是玩游戏,人家也有收费项目呀。。哥们淡定。

亮出你的风采

1

回答

插入一个元素

韩hyr回复:

注意是插入啊,最后一个元素下标的后一个是可以添加新的元素的,更新后最后一个元素下标是在原来的基础上+1啊

个个都是人才说话又好听

1

回答

这个群号多少

韩hyr回复:

线上正式学员会有对应的班级群,线下的班级群请联系自己的班主任哈

蔡振启

1

回答

线性表的插入函数中的赋值语句

杨老师回复:

赋值语句是把右面的结果给了左面的变量,此时 L->data[pos]=x是正确的。

代阳海

1

回答

老师,怎么使两个客户端并立出现啊?还有如何把第一个客户端的程序复制到第二个? 谢谢

韩hyr回复:

编程的页面不叫客户端,是shell终端,在一个终端中,可以在一个代码中用底行模式打开另一个代码,

输入:后,输入vsp xxx.c。

opennepo

1

回答

关于last变量

opennepo回复:

last初始化为-1,随着插入的有效数值,last++,自然 last 就记录了有效数值的下脚标;

顺序表是以结构体形式存储的数组,不知道这样理解对不对?

luke

1

回答

数据结构顺序表 课程资料 没有了

杨老师回复:

已经处理好,谢谢反馈。

MAKERU104709597

1

回答

顺序表清除后的顺序表差长度及元素问题

杨老师回复:

clear_seqlist函数就是把顺序表的里的内容清空,但是这个表还在,对于这个问题,多在逻辑上,可以把代码发给老师看看哦!

顺子

1

回答

结尾的代码不明白什么意思

韩hyr回复:

这一level的学习开始重视模块化编程,基本的模块化编程的思路是将功能拆分,一个功能用一个函数实现,在头文件中将这些函数声明,这样可以在其他文件中用到某个功能函数,直接添加头文件,就可以通过头文件找到实现的功能函数,这种调用方式,提高了代码复用率,可以是功能函数多次被使用,但是不用多次编写。大致上这是模块化编程的思路和优点,如果还有不懂,可以查找下相关博客的介绍,读读理解下,有学习上的不理解可以联系老师。

崔乐

1

回答

DELETE功能问题

韩hyr回复:

数据访问越界了,访问了不在使用范围的内存,当然会有问题。所以在写函数的时候需要注意数据下标和数据个数的问题,下标是从0开始的。

郭晓冲

1

回答

顺序表

韩hyr回复:

顺序表的定义先了解一下~ 之后要明白顺序表是以数组的形式存储,数组在使用的时候需要先定义,这样就有了内存空间,一般定义为整型默认是存储0,但是为了明确自己赋值为{0},全部赋值为默认值0。操作数组就是在操作顺序表的数据存储空间。

郭晓冲

2

回答

重命名

韩hyr回复:

重命名是为了方便编程人员可以区分变量存储的数据是什么样的类型,就同见名知意的意思一样,数据本身其实还是int型。

展乾

1

回答

线性表+delete功能

杨老师回复:

删除最后一个元素的时候就不需要移动了,直接让last--就可以。

Purelove87

1

回答

课件与视频内容不一致

数据结构

韩hyr回复:

课件命名有些不太一样,但是内容是一样的哦

Gale.Zhou

1

回答

L->last 的问题

数据结构

杨老师回复:

我们last标记的是最后一个元素的下标,插入了一个元素,最后一个元素的位置发生了变化,所以需要++,删除一个元素,它也变化了,所以需要--。

xiaoXI

1

回答

关于detele函数删除时的问题

数据结构

杨老师回复:

因为此时你是先让它向下移动,然后再返回的,其实数据还放在了上面哦。

xiaoXI

1

回答

在编写makefile时书写格式

数据结构

韩hyr回复:

在.c文件中声明了头文件(.h文件),这就是依赖关系呀

有梦去远方

1

回答

请问L->last是动态变化的么

小美回复:

需要自己编程来控制,视频中讲得很细致,请同学仔细再看一下,加油。

MAKERU149646433

2

回答

老师,算时间复杂度的时候为什么只算一次循环的时间复杂度n的平方,而不是整个程序执行完后的时间复杂度

Roger回复:

推荐大话数据结构,讲的很清楚,时间复杂度如何计算。执行一条命令算1 复杂度就是O(1),但是相对于n次循环来说这执行单次命令根本可以不用计算。比如 你 写了 printf() 就算1次,然后循环n次,计算次数 n+1,随着n增大1完全可以忽略,所以复杂度变为 O(n)

CDQ071000016

1

回答

用man maxog时找不到该库

答疑老师回复:

maxog函数是自己编写实现的,
scanf("input = %d%d",&m,&n)这句PPT上确实编写有误,感谢您的反馈。

AIMER

2

回答

请问L->last是动态变化的么

答疑老师回复:

注意看函数insert和delete里面,在插入和删除数据的时候L->last是动态变化的。

Obsession

3

回答

线性表定义last初始化为什么为-1 不为0

秦山虎回复:

注意: (1)计算机的索引都是从0开始的 (2)last不能等同于线性表的长度

上次保存笔记

看见好看好看就很快很快就会看见

保存 修改