赞
踩
循环队列存储在数组A[0…n-1]中,其头尾指针分别为f和r,头指针f总是指向队头元素,尾指针r总是指向队尾元素的下一个位置,则元素e入队时的操作为(B )。
A.A[r]=e; r=r+1
B.A[r]=e; r=(r+1)%n
C.A[r]=e;r=(r+1)%(n+1)
D.r=(r+1)%n; A[r]=e;
循环队列,头指针front,尾指针rear,在数组中增加一个元素,尾指针加1,想要达到循环的效果,就让rear+1对整个队列空间取余即可,将数再次放入这个队列中。
循环队列存储在数组A[0…m]中,则入队时的操作为(D)
A.rear=rear+1
B.rear=(rear+1)mod(m-1)
C.rear=(rear+1)mod m
D.rear=(rear+1)mod(m+1)
rear=(rear+1)%(m+1) //m+1代表有m+1个空间。。它是0到m的数组
循环队列是解决假溢出的问题,通常把一维数组看成首尾相接。在循环意义下的加1运算通常用求模运算来实现。所以入队和出队时的操作分别为:rear=(rear+1)%m,front=(front+1)%m。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。