#include <stdio.h>
#include "queue.h"int main(void)
{char *s = "abcd";while (*s != '\0')enqueue(*s++);while (!is_empty())putchar(dequeue());putchar('\n');return 0;
}

static int f = 0,r = 0, sz = 512;    //f入队游标, r出队游标, sz队大小
static int queue[512];                //队存储空间void enqueue(int item)        //环形队列,当数组游标到达sz后,游标变为0
{f %= sz;queue[f++] = item;
}
int dequeue(void)
{r %= sz;return queue[r++];
}
int is_empty(void)
{return f == r;
}
int is_full(void)
{return (f+1)%sz == r;
}

extern void enqueue(int item);
extern int dequeue(void);
extern int is_empty(void);
extern int is_full(void);

转载于:https://www.cnblogs.com/zhuyaguang/p/4840850.html

C基础--队列的构造相关推荐

  1. [C++基础]队列queue中的常用函数

    [C++基础]队列queue中的常用函数 本博客转载自:https://www.cnblogs.com/xuning/p/3321733.html 在C++中只要#include即可使用队列类,其中在 ...

  2. 面向对象和C++基础—面向对象(构造与析构函数篇)

    文章目录 8.面向对象-构造与析构函数篇 (1). 为什么要单独设计构造函数与析构函数? #1.Default-自动生成构造函数与析构函数代码 #2.那析构函数呢? (2). 构造函数的分类 (3). ...

  3. 信息基础---LDPCcodes随机矩阵构造java项目源代码

    代码下载链接: https://download.csdn.net/download/qq_46041930/12678697.

  4. [云炬创业基础笔记]盈利构造

  5. 算法与数据结构基础 - 堆(Heap)和优先级队列(Priority Queue)

    堆基础 堆(Heap)是具有这样性质的数据结构:1/完全二叉树 2/所有节点的值大于等于(或小于等于)子节点的值: 图片来源:这里 堆可以用数组存储,插入.删除会触发节点shift_down.shif ...

  6. 数据结构基础(14) --链式队列的设计与实现

    链式队列是基于单链表的一种存储表示, 其形状如下图所示: (队列的队头指针指向单链表的第一个结点, 队尾指针指向单链表的最后一个结点, 注意没有无用的空[头/尾]节点) 用单链表表示的链式队列特别适合 ...

  7. 单向队列、双端队列、栈的模型实现

    引言 自己实现简单的队列.栈的逻辑结构. 队列都包含头和尾两个指针,简单的单向队列只能在一端(如:head端)入列,在另一端(如:tail 端)出列:双端队列可以在 head 进出,也可以在 tail ...

  8. android 队列执行动画,Android 重学系列 渲染图层-图元缓冲队列初始化

    前言 经过上一篇文章,对开机启动动画的流程梳理,引出了实际上在开机启动动画中,并没有Activity,而是通过OpenGL es进行渲染,最后通过某种方式,把数据交给Android渲染系统. 本文,先 ...

  9. 由任意二叉树的前序遍历序列和中序遍历序列求二叉树的思想方法_算法与数据结构基础 - 二叉树(Binary Tree)...

    二叉树基础 满足这样性质的树称为二叉树:空树或节点最多有两个子树,称为左子树.右子树, 左右子树节点同样最多有两个子树. 二叉树是递归定义的,因而常用递归/DFS的思想处理二叉树相关问题,例如Leet ...

  10. JAVA基础---集合(一)--集合框架概述

    为什么用集合如何合理用集合,以及如何实现的和他们的实现原理,如果搞清了对于之后学习其他知识和开发是很有大帮助性的. 什么是集合框架? 集合框架是表示和操作集合的统一体系结构.所有集合框架都包含以下内容 ...

最新文章

  1. 把view或者div绘制 canvas ,导出图片功能实现完整源码附效果图(兼容H5和小程序)
  2. python语法大全-python基本语法
  3. 弃用MyBatis!我们最终选择了 JDBCTemplate!
  4. HALCON示例程序rim.hdev轮圈孔检测提取字符
  5. 我的第一本算法书(图解算法)——什么是哈希表
  6. 企业信息化投入中咨询服务_嘉萱企业管理咨询服务 让发展中的企业真正实现全面性效益增长...
  7. 用BT搜宝快速找种子
  8. SRP Batch合批失败
  9. BIMC指出企业发展电子商务的问题
  10. 网页打开QQ链接,进行临时会话
  11. OSChina 周三乱弹 —— 我居然在 osc 里追剧
  12. 上周热点回顾(12.22-12.28)
  13. 一个Flash开发者从入门到放弃的成长之路
  14. 何一凡2021年北京高考成绩查询,北京市2021年第一次高中学考成绩查询时间:分数什么时候出...
  15. Stay Hungry, Stay Foolish(求知若饥,虚心若愚)
  16. 如何批量打印流水且重复的条码数据
  17. 求数列中的第1~k小元素
  18. html 二级页面 教程,css 实现动态二级菜单
  19. Zilliqa官方挖矿指南中文版
  20. 你不知道的CSS霓虹灯文字总结

热门文章

  1. FireFox 64位不支持NPAPI插件,不论是32位还是64位
  2. 泰山游记:绝顶海拔1525米
  3. can not be used when making a shared object; recompile with -fPIC
  4. 管理感悟:什么是“倾诉式管理”
  5. mysql.server的路径_WindowsMysqlServer重启,log-bin路径配置
  6. 关于使用C#编写一个简单的日志类
  7. @transactional 可以定义到controller_仿照源码,手写一个自定义 Spring MVC 框架
  8. 查询某个分区是那张表_分库、分表、分区的区别
  9. python julia go_Python的四个挑战者:Swift、Go、Julia、R
  10. TCP长连接(KeepAlive)