当前位置:网站首页 > 数据科学与大数据 > 正文

环形队列c实现(环形队列数据结构)



目录

定义

特点

结构体

初始化

 入队

效果 

出队

效果 

判断队空或者队满

效果 

求队首元素

效果 

求队长

效果 

输出队列

效果 

小结

结果展示


定义

循环队列是一种特殊的队列类型,它在数组的基础上实现。其实现方式是将数组的首尾相连,形成一个环状。这样在操作队列时,当往队列中漆加元素时,如果队列尾指针到达数组末尾,则在数组头部继续添加元素。当从队列中删除元素时,如果队列头指针到达数组末尾,则在数组头部继续删除元素。这样循环下去,队列就具有了循环的特性,即循环队列。

特点

先进先出,后进后出。

指针有头指针尾指针指示队内元素所在位置。

由尾部入队,头部出队。

结构体
 
   
初始化

头指针和尾指针指向相同位置

 
   
 入队

前提判断队列是否满,满无法入队。

循环队列用尾指针和最大存储值求模来确定指针下标。

数据插入。

 
   
效果 

出队

前提判断是否为空,空无法出队。

出队从队首出队。

 
   
效果 

判断队空或者队满

首尾指针指向相同为空。

尾指针最大循环值求模等于头指针为满。

 
   
效果 

求队首元素

根据循环队列首指针与最大循环值求模确定头指针所指数据。

 
   
效果 

求队长

尾指针与头指针做差再与最大循环之求和,循环队列需要与最大循环值求模。

 
   
效果 

输出队列

由头指针逐步增加遍历下角标所存数据,遍历出数据。

 
   
效果 

小结

为了能够充分地使用数组中的存储空间,克服”假溢出”现象,可以把数组的前端和后端连接起来,形成一个环形的表,即把存储队列元素的表从逻辑上看成一个环,成为循环队列。

main.c

 
   

CirclesQueue.c

 
   

CirclesQueue.h

 
   

结果展示

到此这篇环形队列c实现(环形队列数据结构)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • junit5 springboot 数据库引入(springboot2 junit)2025-07-09 14:00:04
  • 大数据培训班一般多少钱(大数据培训班一般多少钱一年)2025-07-09 14:00:04
  • 数据中台建设方案ppt(数据中台建设方案规划)2025-07-09 14:00:04
  • tidb数据库认证(tidb数据库备份)2025-07-09 14:00:04
  • 数据库端口号(数据库端口号可以改吗)2025-07-09 14:00:04
  • 数据特征处理(数据处理特征提取)2025-07-09 14:00:04
  • sql数据文件怎么打开(sqlyog打开sql文件)2025-07-09 14:00:04
  • 中文全文数据库有哪些(中文资源数据库8)2025-07-09 14:00:04
  • 达梦客户端连接数据库命令(达梦数据库连接报系统错误)2025-07-09 14:00:04
  • 自动驾驶数据安全算法(自动驾驶数据安全算法有哪些)2025-07-09 14:00:04
  • 全屏图片