front,tail的问题
来源:3-6 循环队列
颠覆123
2021-02-01
老师好,为什么front是数组中的第一个元素,而tail却不是数组中的最后一个元素,而是最后一个元素的后一个元素? 这就好比是一头大象,front是大象的头,但tail不是大象的尾巴。假设front是第一个元素,tail是最后一个元素,front初始值设置为0,tail初始值设置为-1,这样可以表示此时的数组是空数组;当fonrt==tail时,代表数组满了,这样就不用浪费一个元素的空间了,您看我这样考虑是否妥当?
写回答
1回答
-
liuyubobobo
2021-02-01
front 初始是 0,tail 初始是 -1。
tail 指向最后一个元素,所以添加一个元素以后,tail 变成了 0。front 指向第一个元素,那还是 0。
此时 front == tail 了。但是,整个队列里只有一个元素,不满。
把你想象的逻辑,实际用代码表达一下,然后用实际的数据测试一下,试试看?
继续加油!:)
032021-02-01
相似问题