1、队列(queue)的定义:队列是一种先进先出的线性表。即允许在表的一端进行插入,在另一端进行删除的线性表。
允许插入的一端叫队尾(rear),允许删除的一端叫队头(front)。
2、队列的抽象数据类型定义:
ADT Queue{
数据对象:D={ai | ai∈ElemSet,i=1,2,。。。。n}
数据关系:R={ <ai-1, ai > | ai-1, ai∈D, i = 2, ..., n }
基本操作:
InitQueue(&Q)
操作结果:构造一个空队列Q。
DestoryQueue(&Q)
初始条件:队列Q已存在。
操作结果:队列Q被销毁,不再存在。
ClearQueue(&Q)
初始条件:队列Q已存在。
操作结果:将队列Q清为空队列。
QueueEmpty(Q)初始条件:队列Q已存在。
操作结果:若Q为空队列,则返回TRUE,否则返回FALSE.
QueueLength(Q)
初始条件:队列Q已存在。
操作结果:返回Q的元素个数,即队列的长度。
GetHead(Q,&e)
初始条件:Q为非空队列。
操作结果:用e返回Q的队头元素。
EnQueue(&Q,e)