主题:求解释下队列删除头元素的一个疑惑。
在队列删除一个头元素函数定义中 头指针加1为什么要写成 Q.front = (Q.front+1) % Q.queuesize; 而不是 Q.front=Q.front+1 ?
bool DeQueue (Queue &Q, ElemType &e)
{
// 若队列不空,则删除当前队列Q中的头元素,用 e 返回其值
// 并返回TRUE;否则返回 FALSE
if (Q.front == Q.rear)
return FALSE;
e = Q.elem[Q.front];
Q.front = (Q.front+1) % Q.queuesize;
return TRUE;
}
bool DeQueue (Queue &Q, ElemType &e)
{
// 若队列不空,则删除当前队列Q中的头元素,用 e 返回其值
// 并返回TRUE;否则返回 FALSE
if (Q.front == Q.rear)
return FALSE;
e = Q.elem[Q.front];
Q.front = (Q.front+1) % Q.queuesize;
return TRUE;
}