队列ADT
Posted 陈东
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了队列ADT相关的知识,希望对你有一定的参考价值。
像栈一样,队列也是表,然而,使用队列时插入在一段进行,而删除则在另一端上进行
队列模型
队列的基本模型是 入队(就是添加元素),它是在表的末端(叫做队尾)插入一个元素,和出队,它是删除并返回 在表的开头也叫队头的元素,
<----出队(删除并返回)-----[ 头 队列 尾 ]<--------入队(末端插入)-------
队列的数组实现
如同栈的情形一样,对于队列而言任何的表的实现都是合法的,像栈一样,对于每一种操作,链表实现和数组实现都给出快速的O(1)时间,个人觉得数组是偏慢的 因为在头部删除元素 是要进行一次后面的元素 整体向前挪一个位置的,与之相比 链表实现的队列 删除表头与在尾部添加数据 真的都是 O(1)时间,最为直接,
然后我们先来讨论下数组的实现,
对于每一个队列数组结构,我们保留一个数组theArray 以及位置 front和back ,它们代表队列的两端,我们还要巨鹿实际存在队列当中元素的个数,currentSize,
以上是关于队列ADT的主要内容,如果未能解决你的问题,请参考以下文章