第十三课:队列
时间:2010-09-23 来源:雨雨
第十三课 本课主题: 队列 教学目的: 掌握队列的类型定义,掌握链队列的表示与实现方法 教学重点: 链队列的表示与实现 教学难点: 链队列的表示与实现 授课内容: 一、队列的定义: 队列是一种先进先出的线性表。它只允许在表的一端进行插入,而在另一端删除元素。象日常生活中的排队,最早入队的最早离开。 在队列中,允许插入的的一端叫队尾,允许删除的一端则称为队头。 抽象数据类型队列: ADT Queue{ 数据对象: D={ai| ai(-ElemSet,i=1,2,...,n,n>=0} 数据关系: R1={<ai-1,ai> | ai-1,ai(- D,i=2,...,n} 基本操作: InitQueue(&Q) 构造一个空队列Q Destroyqueue(&Q) 队列Q存在则销毁Q ClearQueue(&Q) 队列Q存在则将Q清为空队列 QueueEmpty(Q) 队列Q存在,若Q为空队列则返回TRUE,否则返回FALSE QueueLenght(Q) 队列Q存在,返回Q的元素个数,即队列的长度 GetHead(Q,&e) Q为非空队列,用e返回Q的队头元素 EnQueue(&Q,e) 队列Q存在,插入元素e为Q的队尾元素 DeQueue(&Q,&e) Q为非空队列,删除Q的队头元素,并用e返回其值 QueueTraverse(Q,vivsit()) Q存在且非空,从队头到队尾,依次对Q的每个数据元素调用函数visit()。一旦visit()失败,则操作失败 }ADT Queue 二、链队列-队列的链式表示和实现 用链表表示的队列简称为链队列。一个链队列显然需要两个分别指示队头和队尾的指针。
|
|
相关阅读 更多 +