数据结构与算法

您所在的位置:网站首页 环形队列的元素个数 数据结构与算法

数据结构与算法

2024-07-02 13:26| 来源: 网络整理| 查看: 265

环形队列

队列是一种常用的数据结构,这种结构保证了数据是按照“先进先出”的原则进行操作的,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,即最先进去的元素也是最先出来的元素.环形队列是一种特殊的队列结构,保证了元素也是先进先出的,但与一般队列的区别是,他们是环形的,即队列头部的上个元素是队列尾部,通常是容纳元素数固定的一个闭环。

应用场景

餐厅的叫号系统

整体思路

设置一个固定长度为maxSize的数组,设置一个记录数组下次插入数据的 下标rear,一个数组下次删除数据的下标front,通过每次插入删除移动一位rear或front的值

rear和front必须考虑取模,当rear指向数组最后一个位置继续添加时,此时认为一轮添加的循环结束,此时rear = (rear + 1) % maxSize;当front指向数组最后一个位置继续获取数据时,此时认为一轮获取的循环结束,此时front = (front + 1) % maxSize;

设置一个判断rear和front是否为同一轮的标记flag,同一轮为true,不是同一轮为false

图解 在这里插入图片描述 代码思路分析

front:front的初始值为0,指向队列将要取出数据的位置

rear:rear初始值为0,指向队列将要添加数据的位置

maxSize :数组的长度

flag:初始值为true,添加数据和获取数据在同一次循环中,此时rear>=front,当rear执行完一轮之后将flag设置为false,此时rear



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3