【发布时间】:2017-10-06 13:31:09
【问题描述】:
我知道在循环队列中我们有 [0 , n-1] 然后 [n] 将再次位于 [0] 的位置。如果我们使用数组,那么指向 A[n-1] 的指针应该增加 1 以提供指向 A[0] 的指针。
这样的普通队列:
|_empty1_|_empty2_|_empty3_|_empty4_|...
所以这里的“front”指向“empty1”。但是,
第一个问题:队列为空时,rear指向哪里?
第二个问题:当单元格“empty1”的队列包含一个元素时,rear 指向哪里? (*1)
PS:我读到一些空的线性队列表示后=-1 和前=0,而一个单元格填充的队列表示后=前=0;但后来在一些伪代码中,我看到 if(front=rear) ->queue 已满。所以这是什么?!数组单元格按数字 0 到 n-1 排序,因此,rear=front=0 填充了一个单元格,即它们都指向的单元格。 (对吧?)
在循环队列中,语句 {rear=front} 表示队列是空的,对于满队列,我们有:rear=n-1 ,front=0 ,rear+1=front=0=n。
(*1) :我的第三个问题与第二个问题相同,但适用于循环。
【问题讨论】:
标签: arrays data-structures queue