循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。
定义
环形队列也是队列的一种数据结构, 也是在队头出队, 队尾入队;
只是环形队列的大小是确定的, 不能进行一个长度的增加, 当你把一个环形队列创建好之后, 它能存放的元素个数是确定的;
一般我们实现这个环形队列是通过一个连续的结构来实现的;
虽然环形队列在逻辑上是环形的, 但在物理上是一个定长的数组;
环形队列可以用于很多场景,比如计算机中的任务调度、打印机任务队列等等
优缺点
优点:可以循环利用存储空间,节省存储空间,可以快速地在队列头和队列尾进行操作,具有固定大小的存储空间,可以避免内存泄漏等问题。
缺点:需要额外的指针来维护队列的状态,增加了复杂度,队列的大小必须预先定义好,难以动态调整。

1、接口定义
讯享网
2、接口实现
2.1 循环队列初始化
讯享网
2.2 入队操作
2.3 出队操作
讯享网
2.4 队列是否为空
2.5 队列是否已满
讯享网
2.6 队列长度
2.7 打印队首元素
讯享网
2.8 输出队列
2.9 main方法
讯享网
3、运行结果

环形队列实际开辟的空间大小要比所存数据的队列长度多开辟一个空间的大小。如果环形队列实际开辟的空间大小和所存储数据个数一样时,会导致环形队列所处空的状态和满的状态是一样的。这样便无法区分。因此环形队列必须多留出一个空间,这个空间不能存放数据,这样才能很好的区别环形队列的状态是空还是满。
参考文献
百度百科、CSDN、数据结构(C语言版)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/177568.html