用户:
SKQA查看:3 回复:3 评论:3 创建时间:2020-05-26T21:57:27
队列,顾名思义,它与我们排队差不多,此时我们称队伍为队列。我们排队时,先进入队伍的末端(入队);处理完毕后,我们就从第一个出来(出队)。那么队列也是一样,元素只能从末端入队,从第一个出队。
(小声说:什么?你连第last项都不知道?第last项就是最后一项)
在队列中,通常用push表示入队,用pop表示出队。push就是“推”的意思,将元素“推”进末尾;pop则是“弹”的意思,将元素“弹”出队。怎么样,是不是很形象?
不过,一旦pop,元素就木大了吗?肯定不是。所以出队时,通常用popValue来保存元素。积木如下:
举个简简单单的例子:
输入a、b两个数,计算a*b-b+a。计算的结果可记录。
(如果是kitten的话,别忘记转成数字类型,因为这是scratch,它不分字符串与数字,它会自动转换)
但是如何记录计算的结果?最简单方法就是队列了。每次说出结果前保存一下结果,下一次就可以用popValue读取了。
但是,一旦pop了,元素只会留在popValue中,不会留在队列中。所以在pop后,需要再push一次,因为这已经算是一次计算了。
这里你必须要搞清楚一点:读取的结果是最前计算的,不是上一次计算的。
至于如何编写程序,每个人有每个人的算法,有的人喜欢增加一个按钮,有的人喜欢询问,有的人喜欢直接说出来。
--------------------OK--------------------
下节讲栈(可能讲不完)