零基础学数据结构---- 队列讲述.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5 章 队列 队列和栈一样,也是一种重要的线性结构。它们都是操作受限制的线性表,其特殊性在于限制线性 表的插入和删除等操作的位置。队列在操作系统和事务管理等软件设计中应用广泛,如键盘输入缓冲区 问题就是利用队列的思想实现的。本章的学习内容包括队列的定义、队列的顺序存储和链式存储及其应 用。 5.1 队列的定义 队列也是一种限定性线性表,允许在表的一端进行插入操作,在表的另一端进行删除操作。本节主 要介绍队列的定义和队列的抽象数据类型。 5.1.1 队列的定义 队列是一种特殊的线性表,它包含一个队头 (front )和一个队尾 (rear )。其中,队头只允许删除 元素,队尾只允许插入元素。队列的特点是先进入队列的元素先出来,即先进先出 (FIFO )。假设队列 为q= (a ,a ,Ö,a ,Ö,a ),那么a 就是队头元素,a 则是队尾元素。进入队列时,是按照 a , 1 2 i n 1 n 1 a ,Ö,a 进入的,退出队列时也是按照这个顺序退出的。出队列时,只有当前面的元素都退出之后, 2 n 后面的元素才能退出。因此,只有当a ,a ,Ö,a 都退出队列以后,a 才能退出队列。队列操作的示 1 2 n-1 n 意图如图5.1 所示。 图5.1 队列操作的示意图 在日常生活中,人们排队买票排的队就是一个队列。新来买票的人到队尾排队,形成新的队尾,即 入队,在队首的人买完票离开,即出队。在程序设计中也经常会遇到排队等待服务的问题。一个典型的 例子就是操作系统中的多任务处理。在计算机系统中,同时有几个任务等待输出,那么就要按照请求输 出的先后顺序进行输出。 5.1.2 队列的抽象数据类型 队列的抽象数据类型包括数据对象集合和基本操作集合。其中,数据对象集合定义了队列的数据元 素及元素之间的关系,基本操作集合定义了在该数据对象上的一些基本操作。 1.数据对象集合 队列的数据对象集合为{a ,a ,Ö,a },每个元素的类型均为 DataType 。队列与栈一样,也是一 1 2 n 种线性表,具有线性表的特点:除了第一个元素a 外,每一个元素有且只有一个直接前驱元素,除了最 1 pdfMachine Is a pdf writer that produces quality PDF files with ease! Produce quality PDF files in seconds and preserve the integrity of your original documents. Compatible across nearly all Windows platforms, if you can print from a windows application you can use pdfMachine. Get yours now ! 2 17 后一个元素a 外,每一个元素有且只有一个直接后继元素。数据元素之间的关系是一对一的关系。 n 2.基本操作集合 队列的基本操作主要有下面6 种: (1)InitQueue(Q) :初始化操作,建立一个空队列Q 。这就像日常生活中,火车站售票处新增加了 一个售票窗口,这样就可以新增一队用来排队买票。 (2 )QueueEmpty(Q) :若Q 为空队列,返回 1,否则返回0 。这就像日常生活中,火车窗口

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档