通过上面的分析我们已经对循环队列很了解了,现在我们来学习下循环队列的实现形式

1、代码使用数组现实循环队列

#include<stdio.h>
#include<malloc.h>
#include <stdio.h>
#include <stdlib.h>
typedef struct Queue{
int * data;//存储的数据,指向一个数组
int font ;//队列数据删除
int rear;//队列数据的添加 }QUEUE ,*PQUEUE; /*初始化队列 6表示数组的长度*/
void initQueue( PQUEUE pQueue){
/*
队列有三个元素构成:
1、一个数组
2、font标志
3、rear标志
*/
//首先让队列 执行一个地址
pQueue->data = (int*)malloc(sizeof(int)*);//该数组存储6个int类型的数据
pQueue->font = ;
pQueue->rear = ; } /*
判断队列是否已经存储满了
*/
bool full_quequ( PQUEUE pQueue){
if((pQueue->rear+)% == pQueue->font){
return true;
}else{
return false;
}
} /*对队列进行遍历*/
void traverse_queue(PQUEUE pQueue){
int index = pQueue->font;
while(index != pQueue->rear){
printf("%d\n",pQueue->data[index]);
index = (index+)%;
}
} /*向队列中存储数据*/
bool en_queue(PQUEUE pQueue ,int val){
if(full_quequ(pQueue)){
return false;
}else{
//将输出放入数组对应的当前rear的位置
pQueue->data[pQueue->rear] = val;
//rear向上移动
pQueue->rear = (pQueue->rear+)%;//数组的长度是6
return true; } } /*判断队列是否为空*/
bool isEmptyQueue(PQUEUE pQueue){ if(pQueue->font == pQueue->rear ){
return true;
}else{
return false;
} } /*删除队列中的元素,将删除的元素保存到pVal的值中*/
bool delete_quequ(PQUEUE pQueue ,int *pVal){
if(isEmptyQueue(pQueue)){
return false;
}else{
//删除元素
*pVal = pQueue->data[pQueue->font];
//font指针上移动
pQueue->font = (pQueue->font +) % ;
return true;
}
}
int main(){
QUEUE s ;
initQueue(&s);
//数组的长度是6,一个空间存储rear,有效的空间只有5个,只能存储5个有效的数据
en_queue(&s,);
en_queue(&s,);
en_queue(&s,);
en_queue(&s,);
en_queue(&s,); traverse_queue(&s);
return ;
}

47 _ 循环队列程序演示.swf的更多相关文章

  1. 39 _ 队列5 _ 循环队列需要几个参数来确定 及其含义的讲解.swf

    上面讲解都是循环队列,如果是链表实现的话就很简单,队列只有循环队列才比较复杂 此时队列中只存储一个有效元素3,当在删除一个元素的时候,队列为空,pFont向上移动,pFont等于pRear,但是此时p ...

  2. 33_栈程序演示.swf

    pBottom执行栈底有效元素的前一个节点,该节点没有存储有效数据,这样设计是便于栈的管理,向链表一样pHead指向链表的第一个节点,该节点是不存储有效数据的 pTop执行栈顶最新的节点 如果pTop ...

  3. C_数据结构_循环队列

    # include <stdio.h> # include <malloc.h> typedef struct Queue { int * pBase; int front; ...

  4. Java练习小题_猴子吃桃问题分别用for循环和while循环实现程序。

    要求说明: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时, ...

  5. [py]约瑟夫问题-循环队列

    约瑟夫问题(历史战争问题) 直观理解 老外视频讲解 模拟器演示 约瑟夫问题 数学姥公众号 讲的最清楚 背景及,推倒过程讲解得很清晰,旨在提高人们对数据的兴趣 简单说下: 几个人围成一圈(循环队列), ...

  6. C Primer Plus_第6章_循环_编程练习

    1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...

  7. C ~ 链式队列与循环队列

          此处的链式与循环队列可以应用于BFS和树的层序遍历.下面是对其结构和基本操作的程序描述. 1.循环队列 解决循环队列的队空和队满的方法: [1].增加一个参数count,用来记录数组中当前 ...

  8. 数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列

    一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其 ...

  9. javascript实现数据结构与算法系列:队列 -- 链队列和循环队列实现及示例

    1 队列的基本概念 队列(Queue):也是运算受限的线性表.是一种先进先出(First In First Out ,简称FIFO)的线性表.只允许在表的一端进行插入,而在另一端进行删除. 队首(fr ...

随机推荐

  1. Matlab矩阵学习二 矩阵的修改

    Matlab矩阵的修改 一.元素修改 (1).矩阵扩充   (2)矩阵删除某行或某列 删除某行:A(m,:)=[]   %删除A矩阵的第m行   删除某列: A(:,n)=[] %删除A矩阵的第n列 ...

  2. Rocket - diplomacy - wirePrefix

    https://mp.weixin.qq.com/s/DVcA2UixnB_6vgI3SjZGyQ   调试wirePrefix方法.   1. 实现   wirePrefix用于调整名称格式,其实现 ...

  3. Redis 入门到分布式 (七)Redis复制的原理与优化

    一.目录 Redis复制的原理与优化 什么是主从复制 全量复制和部分复制 复制的配置 故障处理 开发运维常见问题 二. 什么是主从复制 1.单机有什么问题? 单机如果机器故障,那么久无法及时提供服务: ...

  4. Java实现 蓝桥杯VIP 算法训练 步与血(递推 || DFS)

    试题 算法训练 步与血 问题描述 有n*n的方格,其中有m个障碍,第i个障碍会消耗你p[i]点血.初始你有C点血,你需要从(1,1)到(n,n),并保证血量大于0,求最小步数. 输入格式 第一行3个整 ...

  5. java实现自行车行程

    ** 自行车行程** 计算行程 低碳生活,有氧运动.骑自行车出行是个好主意.小明为自己的自行车装了个计数器,可以计算出轮子转动的圈数.在一次骑车旅行中,出发时计算器的示数为begin,到达目的地时的示 ...

  6. https://www.cnblogs.com/mrchige/p/6409444.html

    https://www.cnblogs.com/mrchige/p/6409444.html http://c.biancheng.net/view/2172.html https://www.cnb ...

  7. Python 导入CSV、JSON、XML数据

    常见的机器可读格式包括: - 逗号分隔值(Comma-Separated Values,CSV)- 制表符分隔值(tab-separated values,TSV)- JavaScript 对象符号( ...

  8. 定时器+echarts运行时间太长导致内存溢出页面崩溃

    最近做的项目需要在页面上展示echarts图表,且数据每隔10s刷新一次,然后发现时间长了以后chorme浏览器会显示页面崩溃.一开始以为是定时器的原因,试了网上的很多方法,比如把setInterva ...

  9. uni-app热更新

    开发工具HbuilderX开发框架 uni-app.h5+1.生成 App 资源升级包1.1.修改版本号1.2.首先,更新 manifest.json 中的版本号.比如之前是 1.0.0,那么新版本应 ...

  10. 用Springboot干掉IBM的WAS-为公司省点钱

    1 那一夜,你伤害了我 今夜的雨下得凉快,小南睡得正香,突然收到远洋运维小周的电话:Hello, Are you OK? WAS有issue,快起来help me! 只见小南登陆WAS机,查看了机器日 ...