标签:
为充分利用向量空间,克服"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。这种循环队列可以以单链表的方式来在实际编程应用中来实现。循环队列有队头和队尾2个指针,是线性结构。元素的个数是由队头指针和队尾指针共同决定。
循环队列队空和队满的条件:
为了方便起见,约定:初始化建空队时,令front=rear=0,
当队空时:front=rear
当队满时:front=rear 亦成立
因此只凭等式front=rear无法判断队空还是队满。
有两种方法处理上述问题:
(1)另设一个标志位以区别队列是空还是满。
(2)少用一个元素空间,约定以“队列头指针front在队尾指针rear的下一个位置上”作为队列“满”状态的标志。
即: 队空时: front=rear 队满时: (rear+1)%maxsize=front
front指向队首元素,rear指向队尾元素的下一个元素。
标签:
原文地址:http://www.cnblogs.com/summer-sun/p/5407623.html