- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[电脑基础知识]栈和队列
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 双向队列 双向队列的分类 输入限制性双向队列 输入只能从一端进行,输出不受限制。 输出限制性双向队列 输出只能从一端进行,输入不受限制。 双向队列的操作 3.4 队列 例4.6 打印杨辉三角 第K行有K+1个数(k从0开始),除了第一个数和最后一个数是1外,其他数是上一行中位其左右的两个数之和。 3.5 队列的应用举例 1 1 1 2 1 1 3 3 1 1 4 6 4 1 5 10 10 5 1 1 1 根据第n行和第n+1行的变换规律,可以用循环队列 来完成杨辉三角的打印任务。并且队列的最大容量应 为n+2,为了区别不同行的队列元素,可以在相邻的两行元素之间可以加一标识,假定为‘0’。 1 1 1 2 1 1 3 3 1 1 4 6 4 1 5 10 10 5 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 假设n=4, 用循环队列来模拟实现杨辉三角的打印(部分)。 3.5 队列的应用举例 S=0,e=1 S=1,e=1 Q.front Q.rear Q.front Q.rear 第一行入队列后 依次输出队列中的元素 0 1 1 0 1 Q.front Q.front 1 Q.rear Q.rear Q.front Q.front 2 Q.rear Q.rear S=1,e=0 Q.front Q.front Q.rear Q.rear 0 Q.rear Q.rear 1 void Ynaghui(int n) { //输出杨辉三角的前n行(n0) SqQueue Q; for(i=1;i=n;i++) cout‘ ‘; cout‘1’endl; // 输出顶端的1 InitQueue_Sq(Q,n+2); EnQueue_Sq(Q,0); // 添加行界标识‘0’ EnQueue_Sq(Q,1); EnQueue_Sq(Q,1); k=1; // 第一行入队列 while(kn){ // 输出前n-1行 for(i=1;i=n-k;i++) cout ‘ ‘; EnQueue_Sq(Q,0); //行界标识‘0’入队列 do{ DeQueue_Sq(Q,s);GetHead_Sq(Q,e); if(e)coute‘ ‘; else coutendl; EnQueue_Sq(Q,s+e) ; }while(e!=0); k++; }//while DeQueue_Sq(Q,e); while(!QueueEmpty(Q)){DeQueue_Sq(Q,e);coute‘ ‘;}//输出第n行 }//Yanghui 例4.7 运动会日程的安排问题。 设计一算法,使运动会的日程最短,同时保证每个运动员参加的不同项目在时间安排上不会出现冲突。因此,可以把它转换成一个无冲突子集的划分问题。 分析:根据每个运动员申请参加的项目,把每个项目在时间上的冲突关系表示出来,是一个两两之间的关系,可以用一二维数组表示。具体可把运动会所有的比赛项目按照一定顺序(从小到大)插入循环队列,然后根据出队列元素对应的比赛项目与其他所有比赛项目的冲突关系来分析,若不发生冲突,加入当前组,若发生冲突,重新插入循环队列的队尾。由于是有序队列,若当前出队列元素比上一个出队列元素小,则说明需要重新开始下一组。 3.5 队列的应用举例 运动会设9个项目A={0,1,2,3,4,5,6,7,8} 7名运动参加(1,4,8)(1,7)(8,3)(1,0,5)(3,4) (5,6,2)(6,4) 冲突子集 (1,4) (4,8) (1,8) (1,7) (8,3) (1,0) (0,5) (1,5) … 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 1 2 1 1 3 3 2 1 4 Result: clash 0 1 2 3 4 5 6 7 8 3.5
您可能关注的文档
最近下载
- 综合交通运输与智能交通重点专项实施方案1.0-提交综合处版.pdf VIP
- 工程交接记录.docx VIP
- 2023年四川省公需科目(数字经济与驱动发展)考试题库及答案.docx
- 变形缝安装施工方案.docx VIP
- 2025年最新版个人征信报告(含水印)模板【可修改】 .pdf VIP
- 爱登堡电气原理图及代号说明EDVF23.pdf VIP
- 20240412-西部证券-爱柯迪-600933-首次覆盖报告:新能源中大件扩张周期,全球化战略开启新篇章.pdf VIP
- 物联网技术与应用(高职物联网相关专业)PPT完整全套教学课件.pptx VIP
- 热烈庆祝八一建军节建军98周年专题.pptx VIP
- 卫生监督协管试题库.pdf VIP
文档评论(0)