因为队列同样是线性表,所以队列也有类似线性表的各种操作,不同的就是插入数据只能在队尾进行,删除数据只能在队头进行。
队列的抽象数据类型ADT定义如下:
ADT 队列(Queue)
Data
同线性表。元素具有相同的类型,相邻元素具有前驱和后继关系。
Operation
InitQueue(*Q):初始化操作,建立一个空队列Q。
DestroyQueue(*Q):若队列Q存在,則销毀它。
ClearQueue(*Q):将队列 Q 清空。
QueueEmpty(Q):若队列Q为空,送回true,否則退回false。
GetHead(Q, *e):若队列Q存在且非空,用e返因队列Q的队头元素。
EnQueue(*Q,e):若队列Q存在,插入新元素e到队列Q中并成为队尾元素。
DeQueue(*Q, *e):刪除队列Q中队头元素,并用e返回其值。
QueueLength(Q):送回队列Q的元素个教。
endADT
- 简单来说,队列就是后面装入数据,前面取出数据。用途:保障时间的顺序,比如用户事务操作。
- 链队列:链式存储的队列,长度没限制啊。
- 顺序队列:顺序存储的队列。