- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法与数据结构(JAVA语言描述) 模块3 栈和队列 ;学习目的与要求;模块3 栈和队列;3.3.1 队列的概念及基本运算;3.队列的基本运算 (1)initQueue(Q)初始化。构造一个空队列Q。 (2)queueEmpty(Q)判队空。若队列Q为空,则返回true,否则返回false。 (3)queueFull(Q)判队满。若队列Q为满,则返回true,否则返回false。 注意:此操作只适用于队列的顺序存储结构。 (4)enQueue(Q,e)入队。若队列Q非满,则将元素e插入到Q的队尾。 (5)deQueue(Q)出队。若队列Q非空,则删去Q的队头元素。 ;3.3.2 队列的顺序存储结构及其算法实现;如图3.6表示了顺序队列中数据元素和队头、队尾指针之间的对应关系,归纳如下: (1)队头队尾指针在队列初始化时均应置为0。 (2)入队时:将新元素插入rear所指的位置,然后将rear加1。 (3)出队时:删去front所指的元素,然后将front加1。 (4)假上溢:由于入队和出队操作中,头尾指针只增加不减小,致使被删元素的空间永远无法重新利用。如图3.6(d)所示,front=2,rear= queueSize时再有元素入队就会发生溢出,但队头前面还有单元是空的。 ;当队列中实际的元素个数远远小于数组空间的规模时,也可能由于尾指针已超越数组空间的上界而不能做入队操作。该现象称为“假上溢”现象。 注意:①当头尾指针相等时,队列为空。 ②在非空队列里,队头指针始终指向队头元素,尾指针始终指向队尾元素的下一位置。;2.循环队列 为充分利用数组空间,克服“假上溢”现象,将存放队列元素的数组空间想象为一个首尾相接的圆环,这种形式的顺序队列称为循环队列(Circular Queue)。如图3.7所示。 ;①方法一: if(i+1==queueSize) //i表示front或rear i=0; else i++; ② 方法二:利用模运算 i=(i+1)%queueSize; ;(2)循环队列边界条件处理 如图3.8所示,在循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front=rear来判别队列是空还是满。;解决这个问题的方法至少有三种: ①另设一布尔变量以区别队列的空和满。 ②少用一个元素存??空间。当队尾指针所指向的空单元的后继单元是队头元素所在的单元时,则停止入队。这样一来,队尾指针永远追不上队头指针,所以队满时不会有front=rear。这时队满的条件为(rear+1) % queueSize=front。判队空的条件不变,仍为front=rear。 ③使用一个存储队列中元素个数的变量如count,当count=0时为队空,当count=queueSize时为队满。 以下关于循环队列及其操作算法都基于第3种方法实现。 注意:循环队列中元素的个数为(rear-front+ queueSize)% queueSize; public final int getFront() { return front; } public final void setFront(int front) { this.front = front; } public final int[] getQueue() { return queue; } public final void setQueue(int[] queue) { this.queue = queue; } public final int getRear() { return rear; } public final void setRear(int rear) { this.rear = rear; };①初始化 public void initQueue() { // 将循环队列置空 front = 0; count = 0; rear = 0; } ②判断队列是否为空 public boolean queueEmpty () { // 判断一个循环队列是否为空,若空,返回true,否则返回false return (count == 0); } ③判断队列是否为满 public boolean queueFull() { // 判断一个循环队列是否已满,若满,返回true,否则返回false。 return (count == queue.length); };(4)循环队列的基本运算 ④入队 public void
您可能关注的文档
- 首饰设计师职业培训 当代国际首饰设计风格特点 国际首饰设计风格特点.ppt
- 首饰设计师职业培训 耳饰的分类、搭扣及造型变化 耳饰的分类与搭扣.ppt
- 首饰设计师职业培训 手链手镯的分类、搭扣及造型变化 手链、手镯、搭扣及造型变化.ppt
- 首饰设计师职业培训 首饰金属面与镶口画法 首饰设计师培训--宝石镶嵌工艺分类(包镶).pptx
- 兽药生产技术 包装、贮存 片剂生产技术6包装与贮存技术.pptx
- 兽医临床诊疗 采样一般原则 7 采样一般原则.ppt
- 兽医临床诊疗 脉搏检查 脉搏检查.ppt
- 兽医临床诊疗技术 腹腔穿刺 1腹腔穿刺.ppt
- 书记员工作实务 法院常用的5种送达方式 庭前:送达方式.pptx
- 书记员工作实务 继承案件庭审重点 庭审:继承案件庭审重点.ppt
- 2024-2025学年山东省济宁市重点达标名校中考压轴语文试题含解析.doc
- 2024年江苏省苏州市吴中学、吴江、相城区数学七年级第一学期期末考试模拟试题含解析.doc
- 河北省秦皇岛市海港区达标名校2025届初三下学期期末考试数学试题(B卷)含解析.doc
- 南京化纤拟购买资产最近两年及一期的财务报告和审计报告.docx
- 储能设备智能化控制方案.docx
- 2024-2025学年江苏省无锡江阴市南菁实验校初三第二学期自主学习能力测试化学试题含解析.doc
- 语文(苏州卷)(全解全析).pdf
- 初中美术课堂教学中的跨学科策略研究.docx
- 隆平高科:北京联创种业有限公司审计报告 (1).docx
- 秦皇岛职业技术学院《病理生理学》2023-2024学年第一学期期末试卷.doc
有哪些信誉好的足球投注网站
文档评论(0)