用数组实现队列:

定义头文件:

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #define MAX_SIZE 10
 4 int queue[MAX_SIZE];
 5 int front=-1;
 6 int rear=-1;
 7
 8 int IsFull(int queue[]);        //判断队列是否已满
 9 int IsEmpty(int queue[]);        //判断队列是否为空
10 void queueFull();                //队列满时抛出函数,并退出程序
11 void queueEmpty();                 //队列为空时的函数
12 void addQ(int queue[],int element);            //向队列中追加元素
13 int deleteQ(int queue[]);                //取出队首元素 

各函数的具体实现:

 1 int IsFull(int queue[]){
 2     if(rear==MAX_SIZE-1)
 3         return 1;
 4     return 0;
 5 }
 6 int IsEmpty(int queue[]){
 7     if(front==rear)
 8         return 1;
 9     return 0;
10 }
11 void queueFull(){
12     fprintf(stderr,"Queue is full!");
13     exit(EXIT_FAILURE);
14 }
15 void queueEmpty(){
16     fprintf(stderr,"Queue is empty!");
17     exit(EXIT_FAILURE);
18 }
19 void addQ(int queue[],int element){
20     if(IsFull(queue))
21         queueFull();
22     queue[++rear] = element;
23 }
24 int deleteQ(int queue[]){
25     if(IsEmpty(queue))
26         queueEmpty();
27     return queue[++front] ;
28 } 

用来测试的主函数(在devcpp中编译通过):

 1 int main(void)
 2 {
 3     int i=0;
 4     for(i=0;i<MAX_SIZE;i++) {
 5         addQ(queue,i+1);
 6     }
 7     for(i=0;i<MAX_SIZE;i++){
 8         printf("%d  ",deleteQ(queue));
 9     }
10      printf("%d\n",deleteQ(queue));
11 }

在抽象数据类型中有创建一个队列的函数,却不知道是怎么实现~~

                                                            2016-10-24     10:30:45

转载于:https://www.cnblogs.com/dtdyq/p/5992045.html

arrayQueue相关推荐

  1. Java数组队列ArrayQueue

    作者: wangding263  链接:http://wangding263.javaeye.com/blog/255523  发表时间: 2008年10月20日 声明:本文系JavaEye网站发布的 ...

  2. ArrayQueue详解(待解决)

    转载于:https://www.cnblogs.com/TTTTT/p/6567487.html

  3. android post请求添加公共参数_XHttp2 一个功能强悍的网络请求库

    XHttp2 一个功能强悍的网络请求库,使用RxJava2 + Retrofit2 + OKHttp组合进行封装.还不赶紧点击使用说明文档,体验一下吧! 项目地址 关于我 https://github ...

  4. 数据结构--数组队列的实现

    数据结构--数组模拟队列 1. 说明 2. 实现代码 1. 数组队列类 2.数组队列测试类 3.代码运行结果 3.完整代码 1. 说明 队列是一个有序列表,可以用数组或者链表来实现. 遵循先入先出(F ...

  5. 『并发包入坑指北』之阻塞队列

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 题外话 前几天我在公众号后天收到一位读者的留言: 我相信也有其他朋 ...

  6. 你应该知道的高性能无锁队列Disruptor

    1.何为队列 听到队列相信大家对其并不陌生,在我们现实生活中队列随处可见,去超市结账,你会看见大家都会一排排的站得好好的,等待结账,为什么要站得一排排的,你想象一下大家都没有素质,一窝蜂的上去结账,不 ...

  7. linux中O(1)调度算法与全然公平(CFS)调度算法

    一.O(1)调度算法 1.1:优先级数组 O(1)算法的:一个核心数据结构即为prio_array结构体. 该结构体中有一个用来表示进程动态优先级的数组queue,它包括了每一种优先级进程所形成的链表 ...

  8. android 打包 混淆配置_android 实际项目中混淆文件的配置(参考做法)

    之前对项目混淆一直了解不是很透,趁着打包正式项目的时候有特意的去了解了一番,做些记录,备忘! -optimizationpasses 5 -dontusemixedcaseclassnames -do ...

  9. 数据结构与算法---队列

    数据结构与算法-队列 1. 队列的定义: 队列(Queue )简称队,是一种操作受限制 的线性表 ,只允许在表的一端进行插入,而在表的另一端进行删除.向队列中插入元素称为入队或进队: 删除元素称为出队 ...

最新文章

  1. 学术分享丨面向机器人的学习算法简述
  2. vba vbscript.regexp加载dll错误_[原]排错实战——拯救加载调试符号失败的IDA
  3. 在Spring Boot中配置web app
  4. java中三种常见内存溢出错误的处理方法
  5. Android之FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
  6. 医学影像设备学_什么是医学影像专业?
  7. jQuery Mobile中网格grid样式ui-grid-*
  8. 【渝粤教育】电大中专电子商务网站建设与维护_1作业 题库
  9. 删除CentOS系统自带的jdk
  10. 【数学和算法】矩阵运算的相关公式
  11. 什么是OFD格式文档?一文教你读懂OFD格式文档
  12. 饿了么自动登录解决方案(手机短信登录)
  13. 求解一元二次方程c语言程序,一元二次方程求解程序完整代码
  14. 投稿英文国际会议论文经验总结
  15. sound函数及大调音阶播放
  16. Java计算机毕业设计图书馆座位预约管理系统源码+系统+数据库+lw文档
  17. 【转载】什么样的妻子什么样的人生
  18. DRM框架(vkms)分析(4)----encoder初始化
  19. ffmpeg vsync参数分析
  20. C语言实现,输入某年某月某日,判断这一天是这一年的第几天?

热门文章

  1. arraylist获取前多少位_Java 面试题 :百度前 200 页都在这里
  2. Requests库实战(三)---爬取豆瓣电影详细信息
  3. Requests库实战(一)---网页采集器
  4. C++函数后置返回类型
  5. 以外的文件 删除_原来C盘还可以删除这五个文件,难怪电脑越来越卡!
  6. python源码笔记_python源码学习笔记(二)
  7. python就业班 miniweb框架_mini-web框架
  8. 万维网发布服务 w3svc 已停止 除非万维_万维网和互联网的区别
  9. 武汉城市职业学院计算机分数线,武汉城市职业学院历年分数线 2021武汉城市职业学院录取分数线...
  10. android官方文档中文版_Now in Android:01 - 如何掌握最新的 Android 技术?