- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
#define MAXQSIZE 100 //最大队列长度 typedef struct { ElemType *base; // 动态分配存储空间 int front; // 头指针,若队列不空, // 指向队列头元素 int rear; // 尾指针,若队列不空,指向 // 队列尾元素的后一个位置 } SqQueue; 循环队列的类型定义 // 构造一个空队列Q Q.base = (ElemType *) malloc (MAXQSIZE *sizeof (ElemType)); if (!Q.base) exit (OVERFLOW); // 存储分配失败 Q.front = Q.rear = 0; return OK; } Status InitQueue (SqQueue Q) { { // 插入元素e为Q的新的队尾元素 if ((Q.rear+1) % MAXQSIZE == Q.front) return ERROR; //队列满 Q.base[Q.rear] = e; Q.rear = (Q.rear+1) % MAXQSIZE; return OK; } Status EnQueue (SqQueue Q, ElemType e) { // 若队列不空,则删除Q的队头元素, // 用e返回其值,并返回OK; 否则返回ERROR if (Q.front == Q.rear) return ERROR; e = Q.base[Q.front]; Q.front = (Q.front+1) % MAXQSIZE; return OK; } Status DeQueue (SqQueue Q, ElemType e) 其它形式的队列: a1 a2 a3 ai an front rear … … a1 a2 a3 ai an front rear … … a1 a2 a3 ai an front rear … … 输入受限的双端队列 输出受限的双端队列 双端队列 本章小结 1.栈的操作有后进先出(LIFO)的操作特点。 2.递归和栈之间存在着很强的联系。递归算法的实现通常是通过设立一个“递归工作栈”来完成的。借助栈也可以将一个递归算法改写为非递归算法。 栈 1.队列操作的定义赋予了队列先进先出(FIFO)的操作特点。 2.队列的插入和删除操作需要高效率地访问队列的两端。因此,链队列用一个带有头指针和尾指针的线性链表或用一个循环链表来实现。 3.队列的顺序存储容易向右漂移。这会使队列出现假溢出现象。一种高效率的解决方案是使用循环数组(称循环队列)。 4.如果用循环数组来实现队列,必须能够区分队列满和队列空的情况。通过计队列中元素的个数、使用一个isfull标志、或者留出一个空的数组单元可以区分。 队列 1. 掌握栈和队列类型的特点,并能在相应的应用问题中正确选用它们。 2. 熟练掌握栈类型的两种实现方法,特别应注意栈满和栈空的条件以及它们的描述方法。 3. 熟练掌握循环队列和链队列的基本操作实现算法,特别注意队满和队空的描述方法。 4. 理解递归算法执行过程中须用栈来实现。 本章学习要点 作业 栈 : (P.22) 3.4 3.15 作业 队列: (P.23) 3.12 3.13 3.28 * * 1)若为“”,则将当前运算符压入运算符栈,并依次读 下一个元素。 2)若为“==”,则 A) 若均为“#”,则求值结束; B) 运算符栈栈顶为“(”,当前运算符是“)”,则 从运算符栈退出“(”,依次读下一个元素; 3)若为“”,则从操作数栈连续退出两个操作数,从运 算符栈中退出一个运算符,然后作相应的运算,并 将运算结果压入操作数栈。此时读出的运算符下次 重新考虑(即不读入下一个元素)。 运算符栈栈顶运算符的优先权?当前运算符的优先权 (运算符间的优先关系请看教材P.53) 3.1.2 栈类型的实现 顺序栈 链栈 #define STACK_INIT_SIZE 100; #define STACKINCREMENT 10; typedef struct { ElemTyp
您可能关注的文档
- 教学目标链接.ppt
- 第二讲未来主义.ppt
- 第二讲用HTML设置文本和图像.ppt
- 教学论完整稿.ppt
- 教学课件:世界是普遍联系的.ppt
- 第二讲竞争优势的定义.ppt
- 教师学教学论.ppt
- 第二课输入输出语句(20120229)1.ppt
- 教师成长遐想.ppt
- 第二部分第二讲数词和主谓一致.ppt
- 企业级数据治理平台助力国家电网全业务数据中心建设(58页 PPT).pptx
- 2025年春全品作业本七年级语文下册人教版安徽专版答案.pdf
- 2025年春全品作业本七年级历史下册人教版安徽专版答案.pdf
- 2025年春全品作业本七年级语文下册人教版河南专版答案.pdf
- 2025年春全品作业本七年级历史下册人教版陕西专版答案.pdf
- 2025年春英语作业本七年级英语下册人教版答案.pdf
- 2025年春全品作业本七年级历史下册人教版山西专版答案.pdf
- 2025年春全品作业本七年级历史下册人教版河南专版答案.pdf
- 2025年春同步教材解析三步讲堂六年级语文下册人教版答案.pdf
- 2025年春全品作业本七年级道德与法治下册人教版内蒙古专版答案.pdf
最近下载
- 2024年德育国测复习试题有答案.doc
- 辽宁省地质勘查项目预算标准(2021).pdf
- 初中化学《氧气》课件.ppt VIP
- 2020必威体育精装版人教版四年级美术下册课件【全册】.pptx
- (高级)烟草物理检验工职业鉴定理论考试题库-下(多选题汇总).docx
- 2025年材料员基础知识试题库(附含答案) .pdf VIP
- 2025年社会工作者之初级社会综合能力精选试题及答案一 .pdf VIP
- ep6fdtm发动机和bosch med174直喷系统介绍.pdf
- 2015-2023年泰州职业技术学院高职单招(数学/语文/英语)历年参考题库带答案解析.docx
- 路基爆破、滑坡应急预案.docx VIP
文档评论(0)