队列ADT

  像栈一样,队列也是表,然而,使用队列时插入在一段进行,而删除则在另一端上进行

队列模型

  队列的基本模型是 入队(就是添加元素),它是在表的末端(叫做队尾)插入一个元素,和出队,它是删除并返回 在表的开头也叫队头的元素,

<----出队(删除并返回)-----[ 头   队列    尾 ]<--------入队(末端插入)-------

队列的数组实现

  如同栈的情形一样,对于队列而言任何的表的实现都是合法的,像栈一样,对于每一种操作,链表实现和数组实现都给出快速的O(1)时间,个人觉得数组是偏慢的 因为在头部删除元素  是要进行一次后面的元素 整体向前挪一个位置的,与之相比 链表实现的队列 删除表头与在尾部添加数据 真的都是 O(1)时间,最为直接,

然后我们先来讨论下数组的实现,

  对于每一个队列数组结构,我们保留一个数组theArray 以及位置 front和back ,它们代表队列的两端,我们还要巨鹿实际存在队列当中元素的个数,currentSize,

 

  

posted @ 2018-05-23 22:50  陈东的博客  阅读(615)  评论(0编辑  收藏  举报