数据结构 - 队列

队列:

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

 

队列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

 

posted @ 2018-03-15 15:15  elewei  阅读(214)  评论(0)    收藏  举报