- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京电子科技学院《数据结构》实验报告题 目:银行客户排队等候系统模拟班 级:1421姓 名:王鹏宇学 号成日期:2016.4.281.问题描述设计一个程序,通过本实验使学生加深理解队列的逻辑特征,掌握其存储结构的描述及实现方法,掌握队列初始化、入队、出队等相关基本操作的实现方法,从而达到能灵活运用队列解决应用问题的目的。客户到银行办理业务,需要取号排队等候。客户分为VIP客户、理财客户、一般客户三种类型。不同类型客户,取得不同的排队序号凭证,进入不同序列排队等候。当服务窗口出现空闲时,按既定策略从三种类型客户中选取客户接受服务。三种类型客户的服务优先顺序从高到低依次为:VIP客户、理财客户、一般客户;相同类型的客户采取先来先服务的原则;当理财客户连续3次未被选中时,下一次优先选取理财客户接受服务。当一般客户连续5次未被选中时,下一次优先选取一般客户接受服务。2.需求分析此程序应使用队列编写,先进先出,并且因为有三种类型的客户,所以需要三个队列来实现。这道题还要编写程序使其实现:当理财客户连续3次未被选中时,下一次优先选取理财客户接受服务。当一般客户连续5次未被选中时,下一次优先选取一般客户接受服务。并且保证新拿到号的vip客户和理财客户,看到的“前面还有x人”的数值是正确的。3.概要设计(1)创建队列链表typedefstructQNode{//定义结点int data;structQNode *next;}QNode,*QueuePtr;typedefstruct{QueuePtr front;//定义队头指针QueuePtr rear;//定义队尾指针int number;//定义计数变量}LinkQueue;(2)退出程序时释放空间intDeQueue(LinkQueue Q){//出队操作QueuePtr p;if(Q.rear==Q.front)return 0;p=Q.front-next;Q.front-next=p-next;if(Q.rear==p)Q.rear=Q.front;free(p);//释放空间return 1;}(3)系统中子程序(函数)及功能要求void Main();主函数,显示主界面,调用计算模块typedefstruct Node;定义一个队列链表intInitQueue(LinkQueue Q);队列初始化intEnQueue(LinkQueue Q,int e);进队列intDeQueue(LinkQueue Q);出队列void tianjia(LinkQueue Q1,LinkQueue Q2,LinkQueue Q3):添加用户void shuchu(LinkQueue Q1,LinkQueue Q2,LinkQueue Q3):输出排队顺序4.详细设计(1)定义节点typedefstructQNode{//定义结点int data;structQNode *next;}QNode,*QueuePtr;typedefstruct{QueuePtr front;//定义队头指针QueuePtr rear;//定义队尾指针int number;//定义计数变量}LinkQueue;(2)队列初始化intInitQueue(LinkQueue Q){//队列初始化Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));if(!Q.front)exit(-2);//溢出Q.front-next=NULL;return 1;}(3)进队列intEnQueue(LinkQueue Q,int e){QueuePtr p;p = (QueuePtr) malloc(sizeof(QNode));if(!p)exit(-2);p-data=e;p-next=NULL;Q.rear-next=p;Q.rear=p;return 1;}(4)出队列intDeQueue(LinkQueue Q){//出队操作QueuePtr p;if(Q.rear==Q.front)return 0;p=Q.front-next;Q.front-next=p-next;if(Q.rear==p)Q.rear=Q.front;free(p);//释放空间return 1;}(5)排序输出voidshuchu(LinkQueue Q1,LinkQueue Q2,LinkQueue Q3){int counter=0;//计数变量,用来进行统计客户接受服务的次数printf(接受服务的顺序如下:\n);while(Q1.front!=Q1.rear){//当VIP队列非空时,进行出队操作printf(VIP用户%d号\n,Q1.front-
您可能关注的文档
- 2017青海单招物理模拟试题及答案解析探究.docx
- 2017汕头期末考试语文试题探究.doc
- 2017上海高三一模小题训练探究.docx
- 2017年最值得关注的10大创客教育项目探究.doc
- 2017事业单位综合基础知识试题与答案最新版探究.doc
- 2017图文转换之图片类探究.pptx
- 2017年郑州高中毕业年级第一次质量预测(地理)探究.docx
- 2017物理学业水平测试冲A复习探究.doc
- 2017小学生期末评语探究.doc
- 2017小学五年级学生评语精选探究.doc
- 北师大版(2024)八年级数学上册课件 3.2 平面直角坐标系 第2课时 点的坐标特征.pptx
- 北师大版(2024)八年级数学上册课件 3.2 平面直角坐标系 第3课时 建立适当的平面直角坐标系.pptx
- 北师大版(2024)八年级数学上册课件 4.3 一次函数的图象 第1课时 正比例函数的图象及性质.pptx
- (人教A版数学选择性必修三)讲义第15讲7.1.1条件概率(学生版+解析).docx
- (人教A版数学选择性必修三)讲义第19讲8.1成对数据的统计相关性(8.1.1变量的相关关系+8.1.2样本相关系数)(学生版+解析).docx
- 北师大版(2024)八年级数学上册课件 5.2 二元一次方程组的解法 第2课时 加减消元法.pptx
- (人教A版数学选择性必修一)2025年秋季学期讲义第01讲1.1.1空间向量及其线性运算(学生版+教师版).docx
- 北师大版(2024)八年级数学上册课件 5.2 二元一次方程组的解法 第1课时 代入消元法.pptx
- 北师大版(2024)八年级数学上册课件 5.3 二元一次方程组的应用 第3课时 二元一次方程组的应用(3).pptx
- 北师大版(2024)八年级数学上册课件 5.4 二元一次方程与一次函数 第2课时 用二元一次方程组确定一次函数表达式.pptx
最近下载
- 黑龙江省齐齐哈尔市克东县克东一中、克山一中等五校联考2025年高三5月仿真考试数学试题含解析.doc VIP
- 新编机关事业单位工人汽车驾驶员高技师国家题库练习题题附答案.docx VIP
- 黑龙江省齐齐哈尔市克东县第一中学2025届高三下学期第五次模拟测试数学试题(含答案解析).docx
- 2025年福建省中考语文试卷(含答案).docx
- 新编机关事业单位工人汽车驾驶员高级、技师国家题库练习题455题(附答案)名师资料..doc VIP
- T_BPMA 0010—2021_现制现售净水机卫生管理规范.pdf VIP
- 复合益生菌发酵玉米-豆粕型日粮对哺乳期羔羊瘤胃发酵参数及菌群结构的影响.pdf VIP
- 野百合也有春天,日本女白领情定宁夏送电工.doc VIP
- 浅谈对智能化医院系统建设见解.doc VIP
- FSSC220006.0 附件中文版本.pdf VIP
文档评论(0)