算法与数据结构说明书.docVIP

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法与数据结构说明书.doc

算法与数据结构课程设计说明书 学生姓名: 文云杰 学号:班级:2011级计算机科学与技术基地班 题目:1 队列实现的仿真技术预测理发馆的经营状况 题目:2 病人就医管理模拟问题 题目:3 长整数运算问题 题目:4随机走步问题 题目:5 最短字符串问题 题目:6 猴子吃桃问题 题目:7 跳马问题 题目:8 数据删除 题目: 9排序比较 题目类型:软件工程(R) 指导教师: 张永 题目1:队列实现的仿真技术预测理发馆的经营状况 序言 理发馆营业情况模拟主要运用的数据类型就是队列,先进先出的数据特点,顾客在选择了所要级别的理发师后,如果有顾客在理发就需要排队,当前面的理完发后,先排队的顾客开始理发。队列的选择,可以是顺序的,也可以是链式的队列,这儿选择链式队列(考虑到空间复杂度的需要)。营业时间以及理发时间的产生分别由程序决定和随机产生一个半个小时到一个小时之间的数代表。题目的要求考验了对队列的认识掌握程度。 数据类型: 链式队列: 结构体:struct node { int cl;//理发师级别 node *link; }; struct queue { node *front; node *rear; }; 整型数组: int a[4]={0,0,0,0};//椅子 int tim[2]={9,00};//时间(早上9点到下午6点) 各模块流程图及伪码算法: 函数Ya()是实现程序仿真的主题函数,通过case 1、case 2、case 3 选择语句模拟顾客的活动。 函数make(cl) 是模拟顾客活动的具体函数实现,对花费时间ti,花费金钱money(),现在的时间tim[2]以及是否理发期间有顾客进来的判断、排队。 函数count()、count2(),是对总人数num1 num2 num3 和排队人数b1 b2 b3的控制调节。 函数调用关系图: 调试分析 遇到的问题: 营业时间、理发时间的控制;通过一个一维整形全局变量数组,随机产生数解决。 怎样判断是否有顾客指定正在理发的理发师理发;通过给一个顾客理完后,提出提问是否有顾客指定正在理发的理发师理发?来解决顾客排队的问题。 测试结果 执行结果通过产生随机数来进行,到下班时间后退出。 执行结果如下: 源程序: #includeiostream #includetime.h using namespace std; int num1=0; //一级理发师理发的总人数 int num2=0; //二级理发师理发的总人数 int num3=0; //三级理发师理发的总人数 int b1=0; //一级理发师排队的人数 int b2=0; //一级理发师排队的人数 int b3=0; //一级理发师排队的人数 int a[4]={0,0,0,0}; 椅子是否被占 (0-空,1-被占) int tim[2]={9,00};//时间(早上9点到下午6点) struct node { int cl; node *link; }; struct queue { node *front; node *rear; }; queue *q1=new queue; queue *q2=new queue; queue *q3=new queue; void init(queue *q,int k) //初始化 { q-front=new node; q-rear=q-front; q-front-cl=k; } void count(int x) { if(x==1) num1++; else if(x==2) num2++; else if(x==3) num3++; } void count1(int x) { if(x==1) b1++; else if(x==2) b2++; else if(x==3) b3++; } void count2(int x) { if(x==1) b1--; else if(x==2) b2--; else if(x==3) b3--; } int count3(int x) { if(x==1) return b1; else if(x==2) return b

文档评论(0)

dzzj200808 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档