第七周 项目 3
来源:互联网 发布:232数据盒rs-100 编辑:程序博客网 时间:2024/06/06 18:43
liqueue.h 代码
/**Copyright (c) 2017, 烟台大学计算机与控制工程学院*All rights reserved.*文件名称:*作 者:陈军正*完成日期:2017年10月22日*版 本 号:v1.0**/#define MaxSize 5typedef int 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 <malloc.h>#include "liqueue.h"#include <iostream>using namespace std;int main(){ElemType a, x;SqQueue *qu; //定义队列InitQueue(qu); //队列初始化while (1){cout<<"输入a值(输入正数进队,负数出队,0结束):";cin >> a;if (a>0){if (!enQueue(qu, a))cout << " 队列满,不能入队" << endl;;}else if (a<0){if (!deQueue(qu, x))cout<<" 队列空,不能出队";}else if (a==0){break;}}return 0;}
liqueue.cpp 代码
#include <malloc.h>#include "liqueue.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;}运行结果
总结:熟悉环形队列基本运算的运用
阅读全文
0 0
- 第七周项目3
- 第七周项目3
- 第七周项目3
- 第七周项目3
- 第七周项目3
- 第七周 项目3
- 第七周项目3
- 第七周 项目3
- 第七周 项目3
- 第七周项目3
- 第七周【项目3
- 第七周项目3
- 第七周项目3
- 第七周 【项目3
- 第七周 【项目3
- 第七周【项目3
- 第七周-项目3
- 第七周 【项目3
- 计蒜客ACM ICPC 2017 Warmup Contest 9--B题-Battle Simulation
- Gradle2.0用户指南翻译——第八章.依赖管理基础
- STL模板库的学习之集合(set)
- 深度学习与神经网络习题(1)
- git命令之merge
- 第七周 项目 3
- 小技巧:把风扇的扇叶取下来
- 解决ubuntu16.04升级内核后耳机没声音的问题
- Codeforces Problem 333B
- nodejs 搭建https服务
- 当一个bug困扰你很久都解决不了的时候,它很可能就是一个低级错误
- CodeVS 1183 SPFA+二分答案 解题报告
- 递归知识
- 左值与右值