【字幕】恋上数据结构与算法之018动态数组06add

之后呢我们就可以开始今天我们的新内容了。我们昨天的话讲这个动态数字的话,我们封装到什么程度呢?我们是不是首先啊提供一些接口,就怎么一次性能快速的去看我们有哪些接口呢?很简单,我们只要点击window这个位置有个 show view有个alarm,Allan就是轮廓大纲的意思,那这个时候我们在右边可以看得到对不对?对吧?

你看这就是我提供给外界的接口,你看有添加有设置、有get有add对吧?而且这个位置呢还可以进行筛选筛选,比如说啊我们看一下啊,点一下这个位置,你看它就可以把什么?

可可以把一些私有的东西隐藏掉,那私有东西一隐藏就意味着这里能看到的是公共的东西啊公共的东西如果你再点一下的话,他就把这些私有的成员变量也给你弄出来了,啊比如说我们点一下这个位置啊就这个意思,你看这就是我提供给外界的接口,那提供给外界的这些接口的话,无非就是终身改查,那这些东西的话我们完成到什么程度呢?

很多东西其实我们已经做完了,对吧?比如说呃他拿到我们的size,然后是否为空,然后是否包含,然后拿到一个元素,要设置某个位置的元素对吧?然后还有什么查找这个元素在我们数据中数据的这种位置,这个也说了。

那接下来怎么样呢?接下来的话我们看一下添加对吧?还有什么?还有添还有这个添加还有这个删除,这样啊关于这个聊天框的话,我我大部分写代码的时候,我基本上都会把它缩小。

如果我讲完一个问题,我想看一下同学们的反馈,我再次把它调出来好吧?所以写代码我可能一般来说会把它缩小啊。

那我们看一下啊,看一下这个添加添加怎么做?首先这个艾特是什么意思啊?如果别人使用这个艾特是不是相当于什么呢?相当于的话他就要把什么呢?把我们传进来的这个数据加到什么地方去,加到我们数组的最后面对吧,比如说我们再来一个那就是最终什么样呢?

最终是先加一个99,要88+~99后面,77+到88后面,对吧?应该是往后面加,那往后面加的话,那这个怎么做呢?

首先我们非常清楚一个问题,就是我们我们写的这个爱的这三个家伙99 88 77最终放哪里?最终肯定是放air里面,所指向了这个数组里面对不对?也就意味着这三个元素肯定放哪里呢?这三个元素99 88 77肯定是唉这个怎么关不掉这个PPT啊?呃关掉啊就是肯定是放这个位置。

而且随着你代码的编写,随着你代码这个执行,这三个家伙怎么放呢?这三个家伙最终肯定是这个是99,这个是88,这个是77对吧?然后后面这些东西呢暂时没有东西了,那我们看一下具体代码怎么写是这样啊,我这里列了个东西我们来看一下。

那大家想一想,一开始的时候你你的数组里面有东西吗?肯定没有东西,那一开始这样数组里面没有东西,所以一开始size肯定是等于0,一开始肯定size等于0,那既然一开始size等于0的话,大家思考一下你第一次添加它放哪里?肯定是放这里,所以你的新的元素它肯定是放这里,所以肯定是放这里对吧?

好,那我们再思考一下,那随着我们元素数据的这个增加,当我们size等于5的时候,那是个什么情况?

那肯定是这样子对吧?也就意味着0~4这个位置已经有东西了,对吧?这个时候才代表size是5嘛,因为你刚刚好装了5个东西嘛,好那大家思考一下,那后面如果这个时候我再来添加的话,那加到什么位置?肯定是加到这个位置对吧?所以肯定是放这个位置。

所以同志们抓住规律了吗?如果我们要新增一个元素的话,是往往哪个位置放东西?往size那个位置放东西,你没发现你size等于0的时候就往0这个位置放东西吗?你size等于5的时候就往5这个位置放东西吗?对不对?

所以规律很简单,我们这里怎么写我们的这个爱的,这里其实就是直接我们l miss这个速度,然后直接size这个位置我们放一个什么还有什么?直接放到size这个位置就可以了,对吧?你size是多少我就放哪里,这个才叫添加到最后面。

而且思考一下,这样写完以后这个size是不是得加加,对吧?你因为你新增了一个元素,那肯定要加加嘛。所以我们最后做的操作肯定就是这个什么做一个加加,那其中呢这两句代码又可以合成一句,其实就是size用完之后呢进行一个加加,所以这个加加我们放后面,所以同学们我们这样写就可以了。

那同学们可能思考一个问题,什么问题呢?唉你这个一开始的这个any miss啊,你你有多少个,你有多少个?我们一是不是默认是对否开发CD是不是10啊?

说白了一开始只6了10个,也就意味着l里面是它对应的这个速度,其实一开始是能放10个元素的,所以我们在外面编写代码的时候,我们的这个艾特其实是能添加10次的,那同学们可能想那我加到第十一次的时候,是不是后面就没有东西了?放不了了对吧?那这个怎么办?这个得扩容,那扩容的话这个等会我们再考虑好吧?这个我们先不考虑,等会我再跟你讲啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值