欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

队列详情和 Java 实现

最编程 2024-03-25 21:08:13
...

导读

栈和队列是有操作限制的线性表。

目录

1、队列的概念、特点、存储结构。

2、栈队列的java实现。

概念

队列是一种在一端进行插入,而在另一端进行删除的线性表。
1、队列的插入端称为队尾;队列的删除端称为队头。(好比火车进隧道)
2、队列的插入操作称为入队(push),删除操作称为出队(pop)。

特点

队列就像一列进入隧道的火车,隧道就是队列,火车车厢就是元素,进入隧道就是从隧道的这头(队尾)插入元素,出隧道就是从隧道的另一头(队头)删除元素。所以是“先进先出”的特点。

存储结构

类似栈有顺序队和链式队两种。

java实现

我们可以围绕栈的4个元素来实现队列:

2状态:是否队空;是否队满。

2操作:进队push;出队pop。

顺序队的实现

 顺序队列的实现也可以使用数组来完成,同栈的实现一样,只是栈是在同一端进行压栈和进栈操作,而队列是在一端做push,另一端做pop操作。

可以看一下下面的队列操作示意图:

 

 我们在实现顺序栈时使用头指针“front”和尾指针“rear”分别进行出队和入队操作,但普通的队列如上图所示,会发生“假溢出”现象,所以我们通常将数组弄成一个环状,即队头和队尾相连,这样就形成了“循环队列”,同时也解决了“假溢出”现象。循环队列是改进版的顺序队列。

如图:

上一篇: Java 常用队列方法 | Java 基础

下一篇: 破坏者(史上最完整)

推荐阅读