- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
除上述基本概念以外,还应该掌握: 栈的基本操作(初始化、栈的空判断、入栈、出栈、取栈顶元素、置栈空),这些操作的时间和空间复杂度均为O(1)。 队列的基本操作(初始化、队列空判断、入队、出队、取队头元素) ,这些操作的时间和空间复杂度均为O(1)。 应该掌握: 栈的顺序存储结构的表示 栈的链接存储结构的表示 队列的顺序存储结构 队列的链接存储结构 顺序栈(入栈操作、出栈操作) 链栈(入栈操作、出栈操作) 顺序队列(入队操作、出队操作) 链队(入队操作、出队操作) 栈应用之一——算术表达式的计算 GO GO GO GO 测试题: 假定利用数组a[N]顺序存储一个栈,用top表示栈顶指针,top= = -1表示栈空,并已知栈未空,当退栈并返回栈顶元素时所执行的操作为________________。 在一个链栈中,若栈顶指针等于NULL则为______________;在一个链队中,若队首指针与队尾指针的值相同,则表示该队为______________或该队______________。 从一个顺序循环队列中删除元素时,首先需要___________。 假定利用数组a[N]循环顺序存储一个队列,用f和r分别表示队首和队尾指针,并已知队列未满,当元素x进队时所执行的操作为_______________________。 设元素1,2,3,4,5依次进栈,若要在输出端得到序列34251,则应进行的操作序列为push(S,1),push(S,2),____________,pop(S),push(S,4),pop(S),__________,_______________,pop(S),pop(S)。 栈的顺序存储结构: struct Stack { Elemtype stack[MaxSize]; int top; }; 包括两部分: 数组stack:用于存储栈中元素的值。数组的大小决定了栈的最大深度。 2. 栈顶指针top:是一个整型变量,用于表示栈顶的位置。top=-1时顺序栈空;top=MaxSize-1时顺序栈满。进栈操作时,top加1,出栈操作时top减1。 BACK 链栈中的结点定义与单链表中结点的定义相同,即为: struct LNode { Elemtype data; LNode *next; }; ? 一个链栈可以用一个栈顶指针来表示。 如:LNode *HS; 定义了一个链栈HS。 BACK 队列的顺序存储结构: struct Queue { Elemtype queue[MaxSize]; int front; int rear; }; BACK 队列的链接存储结构: struct LinkQueue{ LNode *front; //队首指针 LNode *rear; //队尾指针 }; 其中,Lnode的定义与单链表、链栈中结点的定义相同,即为: struct LNode { Elemtype data; Lnode *next; };? BACK 4.7 队 列 队列的例子: 日常生活中队列很常见。如,我们经常排队购物或购票,排队是体现了“先来先服务”(即“先进先出”)的原则。买完东西的人总是从队列的队头离开,而新来的人总是从队尾进入该队列。 计算机系统中输入输出缓冲区的结构也是队列的应用。例如:打印文件时,在主机和打印机之间设置一个缓冲区。缓冲区中数据的逻辑结构即为一个队列,遵循“先进先出”的原则。 4.7.1 队列的定义及其运算 1.队列的定义 队列(queue)也是一种操作受限的线性表。其限制表现在:只允许在一端进行插入,而在另一端进行删除。 只允许进行插入的一端称为队尾(rear),只允许进行删除的一端称为队头或队首(front)。 队列的插入操作通常称为进队,而队列的删除操作则称为出队。当队列中无数据元素时,称为空队。 队列是按照先进先出(FIFO,first in first out )的原则组织数据的,因此,队列也被称为“先进先出”表。 例:队列q=(a1,a2,a3,…,an),则进队的顺序为 a1,a2,a3,…,an,队头元素为a1,队尾元素为an。 进队 出队 a1 a2 a3 ai an front rear 队列的示意图 … … 下图是一个队列的示意图,通常用指针front指示队头的位置,用指针rear指向队尾。 4.7.1 队
您可能关注的文档
- 《电磁学》试卷:11级电磁学期中考试试卷.doc
- 《电磁学》试卷:2007级大学物理期末试卷A卷.doc
- 《电磁学精品课件》第二章 静电场中的导体.ppt
- 《电磁学精品课件》第一章 静电学的基本规律(电势与静电能).ppt
- 《电磁学精品课件》第一章 静电学的基本规律-电场强度.ppt
- 《电磁学精品课件》第七章 物质中的磁场.ppt
- 《电路分析基础-水利电子出版社》第1章 电路的基本概念和定律.ppt
- 《电路分析基础-水利电子出版社》第2章 电阻性网络分析的一般方法.ppt
- 《电路分析基础-水利电子出版社》第3章 一阶动态电路分析.ppt
- 《电路分析基础-水利电子出版社》第5章 耦合电感元件合理想变压器.ppt
文档评论(0)