当前位置:网站首页 > 技术博客 > 正文

循环队列的基本操作c语言



队列是一种先进先出操作受限的线性表结构。它只允许从队尾插入,也叫入队;只允许从队首删除,也叫出队。

注意:
循环队列是解决顺序队列内存空间利用率最大化的一种解决方案。

顺序队列

循环队列

 
  

队首和队尾相等且为零,则已为循环队列初始阿虎。
如下图所示:
队列初始化

 
  

若队首和队尾相等,则表示队列为空。当队列为空时出队无效。
如下图所示:
队列为空

 
  

若队尾下一个数据为队首数据,则说明队列已满,当队列已满时入队无效。

注意:
队列真正使用长度为队列长度减一,这使得顺序队列内存空间利用率最大化。

如下图所示:
队列已满

 
  

将数据存入对队尾代表的存储空间,然后队尾指向下个存储空间。

注意:
1.只允许从队尾入队(队列未满)。
2.循环队列计算下个入队存储空间为:(队尾 + 1 ) % 队列长度


如下图所示:
数据入队

 
  

将队首代表的存储空间数据输出,然后队首指向下一个存储空间。

注意:
1.只允许从队首出队(队列非空)。
2.循环队列计算下个出队存储空间为:(队出 + 1 ) % 队列长度


如下图所示:
数据出队

 
  

输出显示队列中所有数据。从队首开始直到队尾结束的所有数据。

 
  

从队首到队尾的所有数据个数为队列使用空间数。

 
  

队列长度减一,再减去队列使用空间数,就等于列剩余空间 。即:
队列剩余空间 = 队列长度 - 1 - 队列使用空间

 
  
 
  
 
  

运行结果1

运行结果2

运行结果3

运行结果4

运行结果5

  • 上一篇: cglib api
  • 下一篇: okhttp+
  • 版权声明


    相关文章:

  • cglib api2025-08-04 15:01:03
  • 单片机c语言基础语句及详解2025-08-04 15:01:03
  • 背包问题的贪心算法2025-08-04 15:01:03
  • 计数排序算法图解2025-08-04 15:01:03
  • xml转成json格式2025-08-04 15:01:03
  • okhttp+2025-08-04 15:01:03
  • 深入理解nginx模块开发与架构解析2025-08-04 15:01:03
  • 爬虫软件叫什么2025-08-04 15:01:03
  • java工具类库2025-08-04 15:01:03
  • 适配器模式的实现原理2025-08-04 15:01:03