循环队列是一种使用固定大小数组实现的队列,它允许在数组的末端进行循环,从而实现队列的动态管理。在循环队列中,队尾(rear)和队头(front)的索引是动态变化的,当它们到达数组的末端时会回到数组的开始位置。
定义了队列最大容量与元素储存类型
初始化:创建一个循环队列,初始化队头和队尾的索引。
入队(Enqueue):在队尾添加一个元素。如果队列已满(即队尾的下一个位置是队头),则不允许入队。
在添加元素之前,先检查队列是否已满。如果队尾的下一个位置是队头,说明队列已满。
如果队列未满,将元素添加到队尾的位置,然后更新队尾指针。
出队(Dequeue):移除队头的元素并返回它。如果队列为空(即队头和队尾的索引相同),则没有元素可以出队。
在移除元素之前,先检查队列是否为空。如果队头和队尾指针相同,说明队列为空。
如果队列不为空,从队头的位置获取元素,然后更新队头指针,并返回该元素。
循环队列的优点是可以有效利用数组空间,避免浪费。