数据结构 - 队列

Posted David

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构 - 队列相关的知识,希望对你有一定的参考价值。

队列:

队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表(排队问题)

 

队列ADT:

数据:同线性表,元素具有相同的类型,相邻元素具有前驱和后继关系

操作:

  • InitQueue(*Q): 初始化操作,建立一个空队列Q
  • DestroyQueue(*Q): 若队列Q存在,则销毁它。
  • ClearQueue(*Q): 将队列Q清空
  • QueueEmpty(Q): 若队列为空,返回true,否则返回false。
  • GetHead(Q, *e): 若队列Q存在且非空,用e返回队列Q的队头元素。
  • EnQueue(*Q, e): 若队列Q存在,插入元素e到队列Q中并成为队尾元素
  • DeQueue(*Q, *e): 删除队列Q中队头元素,并用e返回其值。
  • QueueLength(Q): 返回队列Q的元素个数

 

FreeBSD中 src/sys/sys/queue.h   版本v1.60.2.1:

SLIST(singly-linked)

STALIQ(singly-linked tail queues)

LIST

TAILQ

 

以上是关于数据结构 - 队列的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法--队列

数据结构之数组模拟队列(单项队列和环形队列)

数据结构之数组模拟队列(单项队列和环形队列)

数据结构之队列

数据结构(10)---队列之环形队列

数据结构队列实例