回 帖 发 新 帖 刷新版面

主题:大家好!想请教两道数据结构的问题

大家好!想请教两道数据结构的问题 
1.队列存放在A[0..M-1]中,则入队时的操作为() 
A.rear=rear+1                    B.rear=(rear+1)%M 
C.rear=(rear+1)%(M+1)  D.rear=(rear+1)%(M-1) 
  
2.循环队列存放在A[0..M-1]中,则入队时的操作为() 
A.rear=rear+1                    B.rear=(rear+1)%M 
C.rear=(rear+1)%(M+1)  D.rear=(rear+1)%(M-1) 
请问下这两个的处理过程一样吗?答案是什么呢?谢谢。

回复列表 (共1个回复)

沙发

1. A  ==> Linear 不会用到 mod, 但会先检查空间,再入队.
2. B  ==> circular 要用到 mod.  x%(m+1)会得到 0 - M, x%(m-1)会得到 0 - (M-2), 所以只有答案B是正确的.

我来回复

您尚未登录,请登录后再回复。点此登录或注册