#include <stdio.h>
#include <malloc.h>
#define MAXSIZE 10
/*
元素个数:(rear - front + maxsize)&maxsize
队列满:(rear + 1)%maxsize == front
下一个入队元素位置:(rear + 1)%maxsize
下一个出队元素位置:(front + 1)%maxsize
队列为空:front == rear
-----------------只有rear指针的情况下:----------
对头为: (Rear + Maxsize - Length) % Maxsize
队列满: (Rear + 1) % Maxsize == (Rear + Maxsize - Length) % Maxsize
队列空: (Rear + Maxsize - Length) % Maxsize == rear
*/
typedef char ElemType;
typedef struct Queue{ElemType data[MAXSIZE];int length;int rear;
}Queue;
bool InitQueue(Queue &Q){Q.data = (ElemType*)malloc(sizeof(ElemType) * MAXSIZE);if(!Q.data) return false;length = 0;rear = 0;return true;
}
bool Enqueue(Queue &Q, ElemType e){if((Q.rear + 1)%MAXSIZE == (Q.rear + MAXSIZE - Q.length)%MAXSIZE) return false;Q.data[Q.rear] = e;Q.rear = (Q.rear + 1) % MAXSIZE;Q.length++;return true;
}
bool DeQueue(Queue &Q, ElemType &e){if((Q.rear + MAXSIZE - Q.length)%MAXSIZE == Q.rear){return false;}e = Q.data[(Q.rear + MAXSIZE - Q.length)%MAXSIZE];Q.length--;return true;
}

只有rear指针的环形循环队列相关推荐

  1. 循环队列的介绍与实现

    文章目录 1 循环队列定义 2 循环队列基本操作 3 循环队列代码实现 4 补充 1 循环队列定义 循环队列:即顺序存储的队列,是为了避免"假溢出"而利用%运算符将队列首尾相接连成 ...

  2. 计算机二级循环队列知识点,考点!计算机二级考试公共基础知识冲刺复习笔记:栈、队列和循环队列...

    小编所收集到的相关计算机二级考试公共基础知识冲刺复习笔记:栈.队列和循环队列的资料 大家要认真阅读哦! 1.栈(Stack)又称堆栈. (1)栈是一种运算受限的线性表,其限制是仅允许在表的一端进行插入 ...

  3. 数据结构与算法之循环队列的操作

    数据结构与算法之循环队列的操作 /* 循环队列的入队和出队算法设计 初始化循环队列 .打印队列.插入元素到循环队列.获取循环队列的首元素,元素不出队.出队.获取循环队列元素个数.判断循环队列的空和满. ...

  4. 杨辉三角循环队列实现(数据结构c语言版)

    [问题描述]杨辉三角形是由[(a+b)]n二项式展开的各项系数形成的,当n=0,系数为1,生成第一行的元素:当a=1,a+b的各项系数组成第二行的元素:当n=2,a2+2ab+b^2的各项系数组成第三 ...

  5. 循环队列(Circular Queue)

    循环队列作用 为充分利用向量空间,克服"假溢出"现象的方法. 循环队列的原理 在环状顺序表中,最后一个位置(a[6])和第一个位置(a[0])紧挨着,这样做的好处是: 随着元素做入 ...

  6. java先进先出 循环队列_java队列--先进先出(循环队列、链队列)

    队列:只允许在一端进行插入操作(队尾),在另一端进行删除操作(队头). 队列的特征就是: 先进先出. 队列的思想及实现也同样非常简单.在生活中的各种常常都需要排队进行,键盘中缓存区.操作系统中的作业调 ...

  7. 【数据结构】队列(链队列、循环队列)的存储结构及基本运算(C语言)

    目录 1. 队列基本概念 2. 链队列 2.1 代码+注释 2.2 运行结果 3. 循环队列 3.1 代码+注释 3.2 运行结果 1. 队列基本概念 队列(Queue)是一种限定性线性表,它只允许在 ...

  8. 循环队列 (顺序存储)

    数组 和 链表是最基本的数据结构,栈.队列.树.图等复杂数据结构都是基于数组或链表方式存储 队列(Queue)特征: 循环队列的顺序存储是基于数组来实现的 队列是一种操作受限的线性表.队列只能在表的一 ...

  9. 如何设计一个循环队列

    文章目录 前言 一.思路 二.代码实现 1.MyCircularQueue(k) 构造方法 2.Front 从队首获取元素 3.Rear 获取队尾元素 4.enQueue(value) 向循环队列插入 ...

  10. 数据结构c语言循环队列代码,数据结构C语言实现----循环队列

    代码如下: #include #include typedef char ElemType; #define MAXQUEUE 100 typedef struct { ElemType *base; ...

最新文章

  1. SDOI2015 约数个数和(莫比乌斯反演经典、双上限整除分块)超详细笔记
  2. python怎么打开交互式窗口-使用pycharm进行交互式shell调试
  3. 原创:MS Dynamics AX - XBRL 功能
  4. windows运行对话框_如何在Windows运行对话框中添加文本快捷方式?
  5. UIProgressView-初识IOS
  6. 《图解HTTP》读书笔记(二:各种协议与HTTP协议之间的关系)
  7. phpstorm的安装和破解
  8. 谢旭升《操作系统教程》课后习题解答
  9. 我们总结了每个技术团队都会遇到的 4 个难题 1
  10. JAVA描述汽车喇叭_描写车声音的词语
  11. c++学习 | MFC —— 控件介绍
  12. mysql免安装_MySQL免安装版配置教程
  13. 国开网电大 动物常见病防治 形考任务1-5
  14. 万能显卡驱动win7_AMD发布Radeon 20.11.1驱动:优化四款新游戏、性能提升7%-AMD,Radeon,驱动,RX 5700 XT ——快科技(驱动之家旗下媒体)-...
  15. java 一对多关系修改,java – EclipseLink以一对多关系生成重复条...
  16. 40 How Many Numbers Are Smaller Than the Current Number
  17. Leetcode刷题 2021.01.22
  18. npm安装私有指定路径的依赖包
  19. 吃自助最高境界:扶墙进,扶墙出
  20. webmin RCE漏洞利用及分析

热门文章

  1. ROS教程 Gazebo仿真(2)-激光雷达
  2. css html文字淡入淡出,Css淡入淡出
  3. 运算放大器---转换速率(slew rate)
  4. java定义一个周长类三角形_point类 三点的三角形的周长、面积 编程求解矩形和圆面积 java 三角形的定义...
  5. STM32MP157C-DK2 开机测试
  6. 分享前端网站模板,HTML5的响应式设计模板
  7. IOS11的新功能你发现了没有~~~
  8. codelite开发php,CodeLite环境搭建
  9. field automation,vif
  10. 服务器租用价格与哪些因素有关?