- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[理学]数据结构教程简答易懂第二章
南京信息职业技术学院 计算机基础教研室 南京信息职业技术学院 计算机基础教研室 第二章 线性表及其顺序存储结构 2.3 队列(Queue)及其应用 2.3.1 队列概念 队列的定义 队列(queue)是在一端进行插入,在另一端进行删除操作的线性表。First In First Out - FIFO 队列是指允许在一端进行插入、而在另一端进行删除的线性表。允许插入的一端称为队尾,通常用一个称为尾指针(rear)的指针指向队尾元素,即尾指针总是指向最后被插入的元素;允许删除的一端称为队头(也称排头),通常也用一个指针(front)指向队头元素的前一个位置。 队列的运算和声明 入队:在队列尾部插入一个新元素x。 退队:删除队列中的队首元素。 检测队列状态。 取队列的队首元素。 创建一个空队列Q。 …… 2.3.2 循环队列及其运算 把队列空间从逻辑上看成是一个首尾相连的环。 如何判断一个循环队列是满还是空? 如何判断循环队列是空?是满? 判满条件(设m=6): 上面循环队列存在的问题及解决方法 问题: 在队列满时仍有一个元素的空间未使用 解决方法: 启用该元素,并设置一标志s,定义如下: 0 (队列中无元素) 1 (队列中有元素) 于是有: 判空条件: s == 0 front == rear ; (可简化为:s == 0 ) 判满条件: s == 1 front == rear ; 请大家分析:如何求循环队列中有多少元素 设循环队列的容量为10(序号为1-10)。先经过一系列的入队与退队操作后,有 front=5,rear=9 front=9,rear=5 请问在这两种情况下,循环队列中各有多少元素? 设循环队列的容量为m 如果rearfront,则循环队列中的元素个数为rear-front 如果rearfront,则循环队列中的元素个数为m-front+rear 入队 入队运算的操作过程如下: 首先判断循环队列是否满:当循环队列非空(s等于1)且队尾指针等于排头指针时,说明循环队列已满,不能进行入队运算。这种情况称为“上溢”。此时给出提示,算法结束。 将队尾指针进一(即rear=rear+1),并当rear等于m+1时rear=1。 将新元素x插入到队尾指针指向的位置,并且置循环队列非空标志。 退队 退队运算的操作过程如下: 首先判断循环队列是否空:当循环队列空(s等于0),不能进行退队运算,这种情况称为“下溢”。此时给出提示,算法结束。 将排头指针进一(即front=front+1),并当front等于m+1时front=1。 将排头指针指向的元素赋给指定的变量。 判断退队后循环队列是否为空。当front等于rear置循环队列空标志(即s为0) 循环队列类的实现 template class T class sq_Queue { private: int mm; int front; int rear; int s; T *q; public: sq_Queue(int); void prt_sq_Queue(); int flag_sq_Queue(); void ins_sq_Queue(T); T del_sq_Queue(); }; 循环队列类详见教材P40: sq_Queue.h 例2 .6 建立容量为10的空循环队列,然后输出排头与队尾指针以及队中元素;依次将50、60、70、80、90、100等六个数入队,输出排头与队尾指针以及队列中元素;再连续将三个元素出队,最后再输出排头与队尾指针以及队列中元素。 队列的应用 给工人分配工作的模拟 输入输出缓存区的结构 汽车加油站的工作模拟 2.4 字符串 2.4.1 字符串的概念 字符串 是由n(n≥0)个字符组成的有限序列,记为: “ a1 a2 a3 … an ” 其中: 用双引号括起来的字符序列是串的值; ai (1=i=n)可以是字母、数字或其他字符; n为串中字符的个数,称为串的长度; n=0的串称为空串。 串的顺序存储结构 将串的各个字符,按顺序存入连续的存储单元中,使逻辑上相邻的字符在内存中也相邻。也称为顺序串。 串运算 求串的长度
您可能关注的文档
- [理学]大学物理2教学课件-28.ppt
- [理学]大学物理11-9衍射光栅简.ppt
- [理学]大学物理下册答案.pdf
- [理学]大学物理1——第2章质点动力学.ppt
- [理学]大学物理下模拟试题2008整理1.ppt
- [理学]大学物理习题册解答.pdf
- [理学]大学物理复习题热学.ppt
- [理学]大学物理2课件 第十二章 气体动理论1.doc
- [理学]大学物理套题训练.doc
- [理学]大学物理实验上.ppt
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- 水利工程质量检测员网上继续教育考试题库及答案混凝土专业试题及答案.pdf VIP
- 李白《将进酒》原文及赏析通用5篇.doc VIP
- 《自动喷水灭火系统施工及验收规范》GB50261-2017.docx VIP
- 小学英语_Unit 4 Lesson3 There are twenty pupils in my class教学设计学情分析教材分析课后反思.doc
- 2025贵州省旅游产业发展集团有限公司招聘115人备考试题及答案解析.docx VIP
- 《凤凰男的豪门贤妻》剧本整本.docx VIP
- 2013年水利工程质量检测员网上继续教育考试题库及答案-混凝土专业.pdf VIP
- 消毒技术规范2022.docx VIP
- 阳台封装施工安全协议书5篇.docx
- 消毒技术规范(2022).docx VIP
文档评论(0)