队列
一 队列的定义
队列在本质上也是线性表,记左Q(a0,a1,.....an),队列只允许在标的两端进行插入和删除,允许插入的一段被称为队尾,允许删除的一段被称为队头,队列的插入操作被称为进队,队列的删除操作别成为出队。
二队列的抽象数据类型
ADT queue
{
数据元素集:D = {ai|ai belongs datatype,i=0,1,....n-1,n>=0}
数据关系集:R{<ai,ai+1>|ai,ai+1 belongs D,0<i<=n-2}
约定a0为队头元素,an-1为队尾元素
基本操作集:P
QueueInit(&Q)
操作结果:创建一个新的队列
QueueDestroy(&Q)
初始条件:队列Q已经存在
操作结果:撤销队列Q
ClearQueue(&Q)
初始条件:队列Q已经存在
操作结果:将Q清空队列
QueueLength(Q)
初始条件:队列Q已经存在
操作结果:返回队列Q的长度
EmtpyQueue(Q)
初始条件:队列Q已经存在
操作结果:若队列Q为空地列则返回true,否则返回false
QueueFull(Q)
初始条件:队列Q已经存在
操作结果:若Q已满,返回true,否则返回false
EnQueue(&Q,e)
初始条件:队列Q已经存在,且未满
操作结果:插入数据e,使之成为新的队尾元素
DeQueue(&Q,e)
操作条件:队列Q存在且不为空,
操作结果:删除Q的队头元素,并返回值
GetHeader(Q)
操作条件:队列Q元素存在,且不为空
操作结果:返回队头元素
QueueTraveler(Q)
初始条件:队列Q已经存在且不为空
操作结果:从对头到队尾依次访问各个元素
}
浙公网安备 33010602011771号