#include <stdio.h>
#include <stdlib.h>
//队列大小
#define   SIZE  1024
static int  queue[SIZE] = {0};
static int head , tail ;
//0   1
int Is_Empty(void)
{//判断队列是否为空,如果头是尾,就证明为空 return  head == tail ;
}
//0   1
int Is_Full(void)
{   //判断队列是否已经满了 return (head+1)%SIZE == tail ;
}
//入队
int enqueue(int value)
{ if(Is_Full()){return 1 ; }queue[head] = value ; head = (head + 1) % SIZE ; return 0 ;
}
//出队
int dequeue(int *value)
{if(Is_Empty())return 1 ; *value = queue[tail] ; tail = (tail + 1) % SIZE ; return 0 ;
}int main(void)
{int i ;int temp ;int buffer[5] = {1,2,3,4,5};printf("入队前:\n");    for(i = 0 ; i < 5 ; i++){printf("queue[%d]:%d\n",i,queue[i]);   }for(i = 0 ; i < 5 ; i++){enqueue(buffer[i]) ;}printf("入队后: \n");for(i = 0 ; i < 5 ; i++){printf("queue[%d]:%d\n",i,queue[i]);   }printf("出队后: \n");while(1){if(dequeue(&temp)) break ; printf("%d\n",temp);}getchar();
}

运行结果:

入队前:

queue[0]:0

queue[1]:0

queue[2]:0

queue[3]:0

queue[4]:0

入队后:

queue[0]:1

queue[1]:2

queue[2]:3

queue[3]:4

queue[4]:5

出队后:

1

2

3

4

5

数据结构---队列C语言实现相关推荐

  1. 数据结构(C语言版) 第 三 章 栈与队列 知识梳理 + 作业习题详解

    目录 一.栈 0.栈的基本概念 1.栈的实现 2.栈与递归 3.Hanoi塔问题 二.队列 0.队列的基本概念 1.队列的实现 2.循环队列 2.1循环队列的相关条件和公式: 3.链队列 4.链队列完 ...

  2. 循环队列–C语言实现–数据结构

    循环队列–C语言实现–数据结构 目录 循环队列C语言实现数据结构 目录 一 要求 二 循环队列 三 循环队列的算法设计 1 建立循环队列 2 置空队列 3 入队 4 出队 5 打印队 四 程序 1 程 ...

  3. 数据结构——队列的C语言代码实现

    系列文章目录 数据结构--顺序表的C语言代码实现 数据结构--八种链表的C语言代码实现 数据结构--栈的C语言代码实现 数据结构--队列的C语言代码实现 数据结构--堆的C语言代码实现 文章目录 系列 ...

  4. 资料分享:送你一本《数据结构(C语言版)》电子书!

    要想写出可复用.可扩展.易维护.灵活性好的代码,「数据结构」这一关必须要过啊! 在数据结构与算法的众多教材中,奉为经典的当属清华大学严蔚敏老师的著作.很多学校也选择这本书作为考研指定教材. 正在学习数 ...

  5. 资料分享:送你一本《数据结构(C#语言版)》电子书!

    对于信息类专业的学生而言,数据结构与算法是一门必修的课程.只有学好这门课程,熟练掌握线性表.栈.队列.树.图等基本结构,以及在这些结构上的各种算法,才能利用计算机去解决实际问题. 如何学好这门课程呢, ...

  6. 数据结构(C语言版) 第 六 章 图 知识梳理 + 习题详解

    目录 一. 图的基本定义和术语 一.图的基本概念 1.度 2.连通 (1)连通图 (2)强连通/强连通图 3.回路 4.完全图 二.图的三种存储结构 1.邻接矩阵表示法 2.邻接表(链式)表示法 3. ...

  7. 如何建立队列c语言_什么是优先队列

    前言 我们之前已经介绍过队列-C语言实现,它们是先入先出的,这很容易用平常的排队来理解.但是如果这个队列要支持有紧急情况的人先出队呢?原先那种队列就不再适用了,我们需要使用本文所提到的特殊队列--优先 ...

  8. 创建队列 c语言_在C中创建队列

    创建队列 c语言 A queue in C is basically a linear data structure to store and manipulate the data elements ...

  9. 数据结构(C语言版 第2版)课后习题答案 严蔚敏 等 编著

    数据结构(C语言版 第2版)课后习题答案 严蔚敏 等 编著,仅供参考,还是自己认真做了再看 第1章  绪论 5.选择题 (1)在数据结构中,从逻辑上可以把数据结构分成(  C ). A.动态结构和静态 ...

最新文章

  1. celery 停止执行中 task
  2. 浅读设计模式 - 1
  3. PHP递归复制文件夹的类
  4. 《Linux内核分析》实践2
  5. HTML基础(part1)--预备知识
  6. Visual Basic 兴衰记
  7. C语言 extern “C” - C语言零基础入门教程
  8. 使用awt制作一个简易加法计算器
  9. 伟创力被华为索赔数亿后发公开信:深感遗憾,仍希望能合作
  10. java计算机毕业设计网络教学系统源码+系统+数据库+lw文档
  11. 千月影视全新改版影视app系统-支持投屏-二开美化版
  12. centos服务器搭建代理
  13. 计算机主机hdmi接口是什么意思,什么是hdmi接口?
  14. C#自制简易弹钢琴谱
  15. 李峋同款 爱心动态代码 步骤教程,可自定义修改自己喜爱照片背景(附代码)
  16. 音频格式简介和PCM转换成WAV
  17. 【zt】克服当众怕羞的心理1
  18. 什么是AT指令,AT指令是什么
  19. Use // eslint-disable-next-line to ignore the next line.Use /* eslint-disable */ to ignore all解决
  20. 排行前1000的docker容器中,20%存在root帐户配置错误

热门文章

  1. Oracle 根据一张发票的供应商,取供应商所有符合条件的发票的总额
  2. 视频前初步认识UML
  3. 针对与其他语言的数据交换Model ,添加了 构造函数
  4. JDK修改环境变量的作用
  5. 理解 | 理解a: float=10
  6. ocv特性_实际使用工况的锂离子电池SOC-OCV关系
  7. jdbctemplate mysql 分页查询 返回list对象_spring jdbctemplate调用存储过程,返回list对象...
  8. 定位低效率执行SQL
  9. 初识Docker-什么是docker
  10. 使用Spring 框架能带来哪些好处?