00:00
呃,对于战来说呢,最重要的一个是入战,还有一个呢,就是我们所说的出战,我们把出战也给他写了。出战。好出站,那出站呢,刚好是反过来的哈,反过来所以说这块呢,函数的签名很像,因此呢,我把它粘一份。我把粘一份。好,首先命名为pop pop pop,那么出战的时候呢,不需要不需要给我给给我值,因为我是从里面取嘛,然后呢,出站至少应该有两个,两个返回值,一个你弹出来数是多少。第二个有没有错误,就是说你你看这个图,大家看这个图。这个图就是出站,就是把占顶的这个数取出来,取出来过后那个占顶呢,要往下面移动一位。啊,要往下面移,你不能不移啊,你如果不移动的话,相当于再次取的时候,你还取到暂停。啊,这点大家要特别小心,说说我现在来做一个东西啊,Value。
01:05
Int,因为我这里这个站里面放的就是这个int,当然如果你想又放int又放float,你可以写一个空接口,就你你可以定一个空接口,这样一个数组也是可以的啊好,现在第一句话出站先判断是否为空。判断判断站是否为空,是否为空啊,因为如果为空的话呢,你就没有办法去取了啊,你入站是判站,你的入账是判断。好的。现在没问题吧?花了没有?好,我们来看看这个pop pop啊,首先判断是不是空,如果this.pop。
02:05
就是它的这个占顶呢,如果等于了负一啊OK,那这个时候呢,它占已经没有东西了,你不能再取了。啊,你你不能再取东西了啊,所以说你提示一句话叫德叫做占占空。Empty pity对不对?就占空了嘛,占空,那一旦占空的话呢,这个时候你就一个呃,随便一个什么值啊,比如说默认是为零,就默返回一个零也可以,然后呢,错误。错误。给他返回一个这样的错误就行了,比如说占空。因为你在取的时候呢,你先判断这个error是不是已经有错了,如果这个error有错的话,你就你就知道这个值肯定也是不对的,所以你你也不用再去取它了啊,不用再去取它了。好,然后呢。如果呃,它不等于空,那么我们就取值,取的时候先取再减减啊,同学们要先取值。
03:06
再去暂停减减先取值。在。在干什么呢?再对这个top减减。哎,这点注意注意顺序,那怎么取呢?Y6等于我们的这个Z点。认识点儿。这是点二,我看这个式子写的对,是二。然后呢,从这里面取一个东西,就是this,点它的top,就是把暂停的值先交给value。那么这个值把值给了过后,你怎么体现出弹出来呢?弹出来就是两个概念,第一个,首先让这个this.top。减减,这样的话呢,占顶就在前面那个占点就取不到了,然后再return。什么value?错误呢,本身就没有,所以说你写个例啊。就相当于没有错误,好,这这就是弹弹出这个值的概念啊,看怎么走的,先把这个暂停的值交给value,然后this top减减减,减完了把值返回去,同时返回一个没有错误的一个列。
04:15
好,Top我们就写完了,我们来测一下。来看一下这个效果啊,同学们。好,我们已经入账了,我们先弹一个值出来,Value。我直接这样写啊,Value我们直接谈吧,谈词。走。出战。出站出站的时候呢,我们这个value等于来弹一个出来。STa.pop。宝。好,但是这个地方还不能这样写,因为你返回的是两个指数,这样还不行。还得还得分一下啊,还得分一下,那没办法,首先把值收一下L,也收一下L,不管,假设我不管这个L啊。然后等于我们的sta点泡泡。
05:05
好,弹出来,然后我把这个词写到这里。好,弹出来,弹出来给我们再显示一下。这个时候第一个弹出来的应该是五啊,应该是先入。先入的后出,后入的先出,那应该弹出一个五站点弹出来了啊,弹出来过后呢,这边一显示应该是4321对4321走一个。好,看看效果。好出站,出站一个五,再打印4321,这个四已经没有了,我们再出一个站。再出一个战啊,我们把这个出战多打几次。再出一个战。好,走。好,再出一个站呢。啊,这个地方不好看啊,怎么再出一张,怎么还是一个五呢,不对啊,对对对对,我我这个是没有出站没有出。
06:03
再出一个站,没有出。出站,出站完了后,我们再重新把它打一个空格。好,出了一个站啊,这地方就不要再用这个。冒号了,好,再看效果。好,你看第一次出了一个54321,再出一个4321,好,如果我出了几次,我看会不会报错啊,这些都要测一下,那么我多弹几次。好,这次我谈了一个,再谈一个,再谈一个啊看效果。看现在站的情况是什么样子的。好,同学们看这样子的话,这里面还有一个啊,还有一个我再谈一个。再弹一个出来。再弹一个出来的话,这边打印的时候就应该是个空战了。这个时候站的情况,他直接告诉你是空战,果然是啊。NPD,那么在空战的情况下,你再谈一个注意这句话就会报错。
07:03
这话就会出错了啊出错。啊,他会报一个什么错呢,已经弹不弹不出来了。再看。你看啊,出战的时候这个大NP里再弹不出来了啊,弹不出来东西了,好,这说明我们这个站呢,呃,这个出站和入站都是正确的啊,都正确大家看没问题,现在我已经把这个出站和入站。说完了,那么讲完这个东西的意义是什么呢?就是我待会儿就要用这个站来完成一个计算器啊,就是这个表达式的一个运算,待会我们想那个时候怎么做啊,好,我先把这个板书一下。先把刚才老师讲的这个站的案例给大家阐述一下。诶,刚才我们做了一个什么事情呢,各位同学,刚才呢,我们做了这样一个工作。啊,刚才我们做了这样一个工作,就是。用数组来模拟一个站啊,模拟的站的实验思路示意图就是跟前面讲的大致是相同的,对,大致相同的,好,我把这先截到这里来。
08:14
这是我的一个。入门。啊入门,然后呢,我们看看代码。代码实现。代码实现。好,代码是具体来说是怎么走的呢。给大家整理到这里。OK。好,这个地方是我们定义的站的一个。呃,结构体。这边是出战啊,这入入战啊。然后呢?我们这儿又写了站的一个出站和它的便利,好,这是它核心的。三个相关的函数或者三个相关的操作。好,同学们。可以了啊好,那关于站的最核心的三个操作我们就说完了,我们。
09:03
先介绍到这儿。
我来说两句