



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/head.h(头文件)struct Queue /定义一个队列int*Qlist;int maxsize;int rear, front;void InitQueue(Queue&QL, const int ms); /初始化void ClearQueue(Queue&QL); /清空队列int QueueEmpty(Queue&QL); /判队空int QueueFull(Queue&QL); /判队满bool InsertQueue(Queue&QL, const int &item); /插入新元素进队void OrderQueue(Queue&QL); /按大小顺序排队int DeQueue(Queue&QL); /出队列struct stack /定义一个栈int* Slist;int top;int Maxsize;void Initstack(stack&SL, const int MS); /栈初始化bool Stackempty(stack&SL); /判栈空bool Stackfull(stack&SL); /栈满void Clearstack(stack&SL); /清空栈int Push(stack&SL, int&item); /新元素推进栈int Pop(stack&SL); /出栈void Traverstack(stack&SL); /输出栈中元素/achieve.h(实现文件)#include #include #include head.hvoid InitQueue(Queue&QL, const int ms) /初始化队列QL.Qlist = new intms;if (!QL.Qlist)cerr 给队列分配内存失败。 endl;exit(1);QL.rear = 0; QL.front = 0; QL.maxsize = ms; /各项值,初始化void ClearQueue(Queue&QL) QL.front = QL.rear = 0; /清空队列int QueueEmpty(Queue&QL) return QL.rear = QL.front; /判空int QueueFull(Queue&QL) return (QL.rear + 1) % QL.maxsize = QL.front; /判满bool InsertQueue(Queue&QL, const int&item) /插入元素进队if (QueueFull(QL)cerr Queue is full endl;exit(1);if (QL.rearQL.maxsize) /尾指针不能超过maxsizeQL.QlistQL.rear = item;QL.rear = (QL.rear + 1) % QL.maxsize;return true;void OrderQueue(Queue&QL) /大小顺序排队if (QueueEmpty(QL)cout Queue is empty now endl;exit(1);int i, j, item;for (i = 0; iQL.rear; i+)for (j = i; jQL.rear; j+)if (QL.QlistiQL.Qlistj)item = QL.Qlisti;QL.Qlisti = QL.Qlistj;QL.Qlistj = item;int DeQueue(Queue&QL) /出队int temp;if (QueueEmpty(QL)cout Queue is empty endl;exit(1);temp = QL.QlistQL.front;QL.front = (QL.front + 1) % QL.maxsize;return temp;void Initstack(stack&SL, const int MS) /栈的初始化SL.Slist = new intMS;if (!SL.Slist)cout 给栈分配内存失败。 endl;exit(1);SL.Maxsize = MS; SL.top = -1;bool Stackempty(stack&SL) /判空return SL.top = -1;bool Stackfull(stack&SL) /判满return SL.top = SL.Maxsize;void Clearstack(stack&SL) /清空栈SL.top = -1;int Push(stack&SL, int&item) /元素进栈if (Stackfull(SL) return false;SL.top+;SL.SlistSL.top = item;return SL.SlistSL.top;int Pop(stack&SL) /元素出栈if (Stackempty(SL) return false;return SL.SlistSL.top-;void Traverstack(stack&SL) /输出栈for (int i = 0; i = SL.top; i+)cout SL.Slisti endl;cout endl;/main.cpp(主程序文件)#include #include #include achieve.hconst int M = 11;const int N = 10;void main()cout -商品货架管理- endl;Queue q;InitQueue(q, M); /队列初始化int i, t, temp, x; / 用于存储最大值,执行循环,输入的变量cout 按照连续的年月日的格式输入2013年1月1日至今的10个日期 endl;cout 如:2013年1月1日,输入20130101: endl;for (i = 0; i x;if (x20130101 & x20141015)InsertQueue(q, x);else cout 日期不合理。请重新输入: x;OrderQueue(q); /将输入的日期排队temp = q.Qlist0; /存储最大(近)的日期stack s;Initstack(s, N); /栈初始化for (i = 0; i10; i+) / 将排序后的队列推进栈x = DeQueue(q);Push(s, x);cout 商品已经按照日期从近到远的时间顺序放入货架。从底部到顶部的顺序为: endl;Traverstack(s); /从底到顶,显示栈元素cout 请输入要取商品的数量: x;while (x10)cout 要求的商品数量不合理,请重新输入: x;for (i = 0; ix; i+) /取x件商品cout 取出的商品生产日期有: Pop(s) endl;ClearQueue(q); /清空队列t = s.top;for (i = 0; i = t; i+) /将取元素后的栈全部进队列x = Pop(s);InsertQueue(q, x);t = q.maxsize - q.rear - 1;cout 现在货架还能放下 t 件商品 endl;cout 请输入要放入货架的在 temp 之后的新商品日期: endl;for (i = q.rear; i x;if (xtemp&x20141015)InsertQueue(q, x);elsecout 商品时间太旧
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钢材剪切加工项目可行性研究报告
- 防汛救灾等级课件
- 防汛抢险应急知识培训会课件
- 绿色科技行业工艺流程
- 数字赋能职业教育与就业服务创新-洞察及研究
- 深圳劳动合同样本下载(新版)3篇
- 四川省绵阳市涪城区2025年九年级下学期中考一模数学试卷(含答案)
- 期中专题复习-词汇句型训练-2025-2026学年 译林版2024 英语八年级上册 原卷
- 河南省漯河市实验中学2024-2025学年上学期七年级第一次月考测试英语试卷(含答案无听力原文及音频)
- 三尖瓣狭窄风险预测模型-洞察及研究
- 2025全新劳动合同范本
- 材料作文点拨课件+2025-2026学年统编版语文九年级上册
- 无线wifi安装协议书
- 中国智能驾驶商业化发展白皮书(2025):平权时代智驾商业落地的破局之路
- 2026年中考语文专项复习:新闻考点+答题方法知识点 讲义(含练习题及答案)
- 小学科学新教科版二年级上册全册教案(2025秋版)
- 病房环境清洁与消毒PDCA课件
- 企业反恐怖安全风险评估报告
- (本科)东南亚经济与贸易全套教学课件完整版PPT
- 新闻学概论ppt全套教学课件
- JJF 1318-2011 影像测量仪校准规范-(高清现行)
评论
0/150
提交评论