- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法3-16 循环队列的出队算法。 依照队首指针Qs_front的指示,将循环队列Cq队首元素的值读出,然后删除该元素。算法名为Delete_Cq(),参数为Cq、Cq_rear、Cq_front、Cq_max、x。 3.从循环队列里删除一个元素——出队 Delete_Cq(Cq, Cq_front, Cq_rear, Cq_max, x) { if (Cq_front == Cq_rear) /* 队空 */ printf ( The circular queue is empty!) ; else /* 队非空 */ { Cq_front = (Cq_front +1)%Cq_max ; /* 计算新的出队队位号 */ x = Cq[Cq_front] ; /* 队首元素出队 */ } } 算法3-17 取循环队列首元素算法。 已知循环队列Cq,依照队首指针Qs_front的指示,将队首元素的值读出。算法名为Head_Cq(),参数为Cq、Cq_rear、Cq_front、Cq_max、x。 4.获取循环队列队首元素 Head_Cq(Cq, Cq_front, Cq_rear, Cq_max, x) { if (Cq_front == Cq_rear) /* 队空 */ printf ( The circular queue is empty!) ; else /* 队非空 */ x = Cq[(Cq_front +1)%Cq_max] ; /* 读出队首元素 */ } 当采用链式存储结构实现一个队列时,就称它为“链式队列”。由于队列是线性表的一个特例,因此,链式队列就是链表的一个特例。 3.2.4 队列的链式存储实现 算法3-18 创建一个带头结点的链式队列算法。 创建一个带头结点的链式队列Lq,算法名为Create_Lq(),参数为Lq_front、Lq_rear。 1.创建一个链式队列 Create_Lq (Lq_front, Lq_rear) { ptr = malloc (size) ; /* 申请一个存储结点 */ Lq_front = ptr ; /* 让队首指针Lq_front指向头结点 */ Lq_rear = ptr ; /* 让队尾指针Lq_rear指向头结点 */ ptr-Next = NULL ; /* 将头结点的Next域设置为空 */ } 图3-19 链式队列示意图 算法3-19 链式队列进队算法。 (1)算法描述 已知链式队列Lq。依照队尾指针Lq_rear的指示,往其队尾插入一个值为x的新元素。算法名为Insert_Lq(),参数为Lq_rear、x。 2.往链式队列里插入一个元素——进队 Insert_Lq(Lq_rear, x) { ptr = malloc(size) ; ①ptr-Data = x ; ②ptr-Next = Lq_rear-Next ; ③Lq_rear-Next = ptr ; ④Lq_rear = ptr ; } 图3-20 元素进入链队时的指针操作 算法3-20 链式队列的出队算法。 依照队首指针Lq_front的指示,把链式队列Lq的队首元素读出,然后调整指针,将该元素删除。算法名为Delete_Lq(),参数为Lq_front、Lq_rear、x。 3.从链式队列里删除一个元素——出队 Delete_Lq(Lq_front, Lq_rear, x) { if (Lq_front == Lq_rear) /* 队列空 */ printf (The linked queue is empty!) ; else /* 队列非空 */ { ①ptr = Lq_front-Next ; /* 让ptr指向欲删除的结点 */ ②x = ptr-Data ; /* 结点数据存入变量x */ ③Lq_front-Next = ptr-Next ; /* 删除该结点 */ if (ptr-Next == NULL) /* 队列里只有一个结点 */ ④Lq_rear = Lq_front ; ⑤free (ptr);
您可能关注的文档
- 数据结构与算法国家级双语教学示范课程配套教材彭军向毅Chap8graph课件教学.ppt
- 数据结构与算法国家级双语教学示范课程配套教材彭军向毅Chap9searching课件教学.ppt
- 数据结构与算法应用教程高佳琴第10章完常用算法课件教学.ppt
- 数据结构与算法应用教程高佳琴第1章完概述课件教学.ppt
- 数据结构与算法应用教程高佳琴第2章完顺序表课件教学.ppt
- 数据结构与算法应用教程高佳琴第3章完链表课件教学.ppt
- 数据结构与算法应用教程高佳琴第4章完栈与队列课件教学.ppt
- 数据结构与算法应用教程高佳琴第5章完字符串与多维数组课件教学.ppt
- 数据结构与算法应用教程高佳琴第6章完递归课件教学.ppt
- 数据结构与算法应用教程高佳琴第7章完树与二叉树课件教学.ppt
- 2026年周口市城乡一体化示范区招聘公益性岗位人员10人备考题库最新.docx
- 2025新疆六师公安机关面向社会招聘警务辅助人员55人考前自测高频考点模拟试题附答案.docx
- 2025江西省交投数智科技有限公司招聘12人笔试备考试题最新.docx
- 2025新疆兵投检验检测有限责任公司市场化招聘4人备考题库最新.docx
- 2025年莒南县司法局下属单位招聘备考题库附答案.docx
- 2025年陵县体育局下属单位招聘备考题库附答案.docx
- 2025年罗源县发改委下属事业单位招聘笔试参考题库附答案.docx
- 2025湖北交投宜昌高速公路建设管理有限公司管理人员遴选5人备考题库附答案.docx
- 2025广东深圳市福田区教育科学研究院市内选调教研员11人备考题库最新.docx
- 2025广东广州市岑村强制隔离戒毒所招聘警务辅助人员3人备考题库最新.docx
原创力文档


文档评论(0)