目录
定义
特点
结构体
初始化
入队
效果
出队
效果
判断队空或者队满
效果
求队首元素
效果
求队长
效果
输出队列
效果
小结
结果展示
定义
循环队列是一种特殊的队列类型,它在数组的基础上实现。其实现方式是将数组的首尾相连,形成一个环状。这样在操作队列时,当往队列中漆加元素时,如果队列尾指针到达数组末尾,则在数组头部继续添加元素。当从队列中删除元素时,如果队列头指针到达数组末尾,则在数组头部继续删除元素。这样循环下去,队列就具有了循环的特性,即循环队列。
特点
先进先出,后进后出。
指针有头指针尾指针指示队内元素所在位置。
由尾部入队,头部出队。
结构体
初始化
头指针和尾指针指向相同位置
入队
前提判断队列是否满,满无法入队。
循环队列用尾指针和最大存储值求模来确定指针下标。
数据插入。
效果
出队
前提判断是否为空,空无法出队。
出队从队首出队。
效果
判断队空或者队满
首尾指针指向相同为空。
尾指针最大循环值求模等于头指针为满。
效果
求队首元素
根据循环队列首指针与最大循环值求模确定头指针所指数据。
效果
求队长
尾指针与头指针做差再与最大循环之求和,循环队列需要与最大循环值求模。
效果
输出队列
由头指针逐步增加遍历下角标所存数据,遍历出数据。
效果
小结
为了能够充分地使用数组中的存储空间,克服”假溢出”现象,可以把数组的前端和后端连接起来,形成一个环形的表,即把存储队列元素的表从逻辑上看成一个环,成为循环队列。
main.c
CirclesQueue.c
CirclesQueue.h
结果展示
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/63728.html