我正在阅读 CLRS 的基本数据结构,在阅读 Queue ADT 时,我遇到了这个:
当 Q.head = Q.tail + 1 时,队列已满,如果我们尝试将元素入队,则队列溢出。
它总是真实的吗?因为如果 Q.tail 等于 Q.length 那么我们根据文本设置 Q.tail = 1。因此,如果我们完全填满队列,那么 Q.tail 和 Q.head 将指向同一个位置(索引 1),上述条件不成立。我在这里想念什么?请指出我在哪里误解了文字。提前致谢。
这里 Attribute Q.head 索引或指向队列的头部。属性 Q.tail 索引新到达元素将插入队列的下一个位置。