sqqueue.cpp#include <stdio.h>
#include <malloc.h>
#include "sqqueue.h"
void InitQueue(SqQueue *&q)  //初始化顺序环形队列
{q=(SqQueue *)malloc (sizeof(SqQueue));q->front=q->rear=0;
}
void DestroyQueue(SqQueue *&q) //销毁顺序环形队列
{free(q);
}
bool QueueEmpty(SqQueue *q)  //判断顺序环形队列是否为空
{return(q->front==q->rear);
}
int QueueLength(SqQueue *q)   //返回队列中元素个数,也称队列长度
{return (q->rear-q->front+MaxSize)%MaxSize;
}
bool enQueue(SqQueue *&q,ElemType e)   //进队
{if ((q->rear+1)%MaxSize==q->front)  //队满上溢出return false;q->rear=(q->rear+1)%MaxSize;q->data[q->rear]=e;return true;
}
bool deQueue(SqQueue *&q,ElemType &e)  //出队
{if (q->front==q->rear)      //队空下溢出return false;q->front=(q->front+1)%MaxSize;e=q->data[q->front];return true;
}
sqqueue.h#define MaxSize 5
typedef char ElemType;
typedef struct
{ElemType data[MaxSize];int front,rear;     /*队首和队尾指针*/
} SqQueue;
void InitQueue(SqQueue *&q);  //初始化顺序环形队列
void DestroyQueue(SqQueue *&q); //销毁顺序环形队列
bool QueueEmpty(SqQueue *q);  //判断顺序环形队列是否为空
int QueueLength(SqQueue *q);   //返回队列中元素个数,也称队列长度
bool enQueue(SqQueue *&q,ElemType e);   //进队
bool deQueue(SqQueue *&q,ElemType &e);  //出队
main.cpp
#include <stdio.h>
#include "sqqueue.h"
int main()
{ElemType e;SqQueue *q;printf("(1)初始化队列q\n");InitQueue(q);printf("(2)依次进队列元素a,b,c\n");if (enQueue(q,'a')==0) printf("队满,不能进队\n");if (enQueue(q,'b')==0) printf("队满,不能进队\n");if (enQueue(q,'c')==0) printf("队满,不能进队\n");printf("(3)队列为%s\n",(QueueEmpty(q)?"空":"非空"));if (deQueue(q,e)==0)printf("队空,不能出队\n");elseprintf("(4)出队一个元素%c\n",e);printf("(5)队列q的元素个数:%d\n",QueueLength(q));printf("(6)依次进队列元素d,e,f\n");if (enQueue(q,'d')==0) printf("队满,不能进队\n");if (enQueue(q,'e')==0) printf("队满,不能进队\n");if (enQueue(q,'f')==0) printf("队满,不能进队\n");printf("(7)队列q的元素个数:%d\n",QueueLength(q));printf("(8)出队列序列:");while (!QueueEmpty(q)){deQueue(q,e);printf("%c ",e);}printf("\n");printf("(9)释放队列\n");DestroyQueue(q);return 0;
}

												

第7周项目实践 1 队列算法库的建立相关推荐

  1. 数据结构上机实践第八周项目9-广义表算法库及应用

    广义表算法库及应用 为了丰富算法库,以应对各类工程的需要,本次实践将进行广义表算法库的建立以及应用. 项目要求一: 建立广义表算法库,包括:  ① 头文glist.h,定义数据类型,声明函数:  ② ...

  2. 数据结构上机实践第七周项目1 - 自建算法库——顺序环形队列

    自建算法库--顺序环形队列 本次实践将建立顺序环形队列的算法库,用于之后的工程中 实现源代码如下: 1.squeue.h /* copyright (t) 2017,烟台大学计算机学院 *All ri ...

  3. 数据结构上机实践第七周项目2 - 自建算法库——链队(链式队列)

    自建算法库--链队(链式队列) 实现源代码如下: 1.liqueue.h /* copyright (t) 2016,烟台大学计算机学院 *All rights reserved. *文件工程名称:1 ...

  4. 数据结构上机实践第11周项目1 - 图基本算法库

    图基本算法库   本次实践将建立图的基本算法库,用以丰富算法库,灵活应对更多样的工程,所谓"技多不压身",算法亦如此.   本次实践将运用多文件组织工程的建立,点击此处参考.(编译 ...

  5. 第九周项目四----广义表算法库及应用1

    /*烟台大学计算机与控制工程学院 作者:孙潇 时间:2015年12月11日 问题描述: 广义算法库 输入描述:无 输出描述:若干数据 */ 头文件 glist.h #ifndef GLIST_H_IN ...

  6. 第十周项目实践1 二叉树算法验证

    #ifndef BTREE_H_INCLUDED #define BTREE_H_INCLUDED #define MaxSize 100 typedef char ElemType; typedef ...

  7. 第八周项目实践6 KMP算法(串的模式匹配)

    sqString.h #ifndef SqString_H_INCLUDED #define SqString_H_INCLUDED#define MaxSize 100 //最多的字符个数 type ...

  8. 第十周项目实践 哈夫曼树的建立哈夫曼编码

    typedef struct {char date;int lchild,rchild;int parent; }HTnode; void CreateHTnode(HTnode ht[],int n ...

  9. 第十二周项目一----图基本算法库

    /*烟台大学计算机与控制工程学院 作者:孙潇 时间:2015年11月13日 问题描述:定义图的邻接矩阵和邻接表存储结构,实现其基本运算,并完成测试. 输入描述:无 输出描述:若干数据 */ 头文件: ...

最新文章

  1. .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二)
  2. matlab将求解sin隐式解,Matlab隐式符号方程求解和赋值
  3. 透彻理解块级元素的宽度
  4. DIV+CSS规范命名
  5. Cloud for Customer UI checkbox控件在PC和mobile端的不同显示
  6. 一个最简单的WebSocket hello world demo
  7. 安徽工业大学计算机学院推免名单,2021年安徽工业大学拟录取推免研究生名单公示...
  8. 计算机系统是连续系统,连续系统的计算机模拟
  9. 工程设计论——如何写好工程代码
  10. 用Jenkins自动化搭建测试环境-前奏
  11. SQL Server创建视图
  12. 计算机网络知识点回顾
  13. linux下的5个查找命令
  14. OO第三单元总结——JML
  15. Atitit 为什么互联网金融会得到高层的支持 ----面子工程战略 政绩战略 大事业战略 高层需要在意识形态创新全球,政绩工程 得到合法性。 银行有很多家,而且别的区域也有。。不独特。。但是支付
  16. 北京大学计算机学院刘利,信息科学学院 科研动态 深化新文科计算机教学改革,实施分类分层次教学体系研讨会在京召开...
  17. 计算机大赛获奖作品动画,全国xx杯说课大赛计算机类一等奖作品:《遮罩动画》说课课件...
  18. Sometimes you will never know the true value of a moment until it becomes a memory
  19. Generalized Robust Regression for Jointly Sparse Subspace Learning
  20. 洛谷:P1129 [ZJOI2007] 矩阵游戏(二分图最大匹配)

热门文章

  1. CROC-MBTU 2012, Elimination Round (ACM-ICPC) 总结
  2. 想找首歌来表达心情!
  3. WINCE基于hive注册表的实现
  4. python无法打印unicode编码_【整理】Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来或打印出来却是乱码...
  5. echart 数据视图_关于数据可视化图表的制作,你需要关注的30个小技巧
  6. BurpSuite插件开发指南之 Java 篇
  7. 放弃 PowerPoint,改用 reveal.js
  8. linux下随机数字的生成
  9. private用法 java_关于android开发中如何正确使用Private Services安全用法及代码示例...
  10. 【Python-ML】神经网络-深度学习库Keras