数据结构与算法 |
您所在的位置:网站首页 › 环形队列的元素个数 › 数据结构与算法 |
环形队列 队列是一种常用的数据结构,这种结构保证了数据是按照“先进先出”的原则进行操作的,它只允许在表的前端(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 |