注册 登录
编程论坛 数据结构与算法

关于队列操作的疑问

menghuann 发布于 2011-02-16 15:30, 421 次点击
进队操作为:rear=(rear+1)%MaxSize;Q[rear]=x;
出队操作为:front=(front+1)%MaxSize;x=Q[front];
为什么进队操作中的尾指针要加1?还要对MaxSize取余?而一个是Q[rear]=x但是出队却是x=Q[front];?
2 回复
#2
卧龙孔明2011-02-16 16:56
自己模拟下就知道了
#3
CCFzeroOH2011-02-17 17:28
这是一个循环队列,所以要对MAXSIZE取余

为什么进队操作中的尾指针要加1?
rear指向的是队尾元素的下一个位置

front指向的是队首元素
1