1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
队列 - 1

* * 把x 添加到队列的尾部 templateclass T LinkedQueueT LinkedQueueT::Add(const T x) {// 把x 添加到队列的尾部 // 不捕获可能由n e w引发的NoMem 异常 // 为新元素创建链表节点 NodeT *p = new NodeT; p-data = x; p-link = 0; if (front) rear-link = p; //队列不为空 else front = p; // 队列为空 rear = p; return *this; } * * 删除第一个元素 templateclass T LinkedQueueT LinkedQueueT::Delete(T x) {{// 删除第一个元素,并将其放入x // 如果队列为空,则引发异常O u t O f B o u n d s if (IsEmpty()) throw OutOfBounds(); / /保存第一个节点中的元素 x = front-data; // 删除第一个节点 NodeT *p = front; front = front-link; delete p; return *this; } * 从ExtendedChain ( 3.4.3)派生 Queue.IsEmpty() ? ExtendedChain.IsEmpty() x = Queue.First() ? ExtendedChain.Find(1,x) x = Queue.Last() ? ExtendedChain.Last() Queue.Add(x) ? ExtendedChain.Append(x) Queue.Delete(x) ? ExtendedChain.Delete(1,x) * 第 6 章 队列(QUEUES) * 本章内容 6.1 抽象数据类型 6.2 公式化描述 6.3 链表描述 6.4 应用 * * 队列的实现 队列的应用 本章重点 * 6.1 抽象数据类型 定义: 队列(queue)是一个线性表,其插入和删除操作分别在表的不同端进行。 添加新元素的那一端被称为队尾(rear). 删除元素的那一端被成为队首(front). 队列是一个先进先出( first-in-first-out, FIFO)的线性表 e1, e2, e3, …, ei, …, en-1, en ↑ ↑ front rear * * 队列 * 6.1队列的抽象数据类型描述 抽象数据类型Queue { 实例 有序线性表,一端称为front,另一端称为rear; 操作 Create (): 创建一个空的队列; IsEmpty (): 如果队列为空,则返回true,否则返回false; IsFull ( ) :如果队列满,则返回true;否则返回false; First (): 返回队列的第一个元素; Last ( ) :返回队列的最后一个元素; Add (x): 向队列中添加元素x; // enqueue Delete (x): 删除队首元素,并送入x ; // dequeue } * 6.2 公式化描述 公式: location(i) = i – 1 第一个元素: queue[0], 第二个元素 : queue[1] …… front总是为0 , rear始终是最后一个元素的位置 e1 e2 e3 …… en queue 0 1 2 MaxSize-1 front rear * 公式化描述 队列的长度: rear + 1 空队列 : rear=-1 Add(x): rear=rear+1;queue[rear]=x; O(1) Delete(x): x=queue[0]; queue[0..rear-1]← queue[1..rear]; rear=rear-1; Q(n) e1 e2 e3 …… en queue 0 1 2 MaxSiz

文档评论(0)

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

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

1亿VIP精品文档

相关文档