Java数据结构与算法(3):队列
2020-12-13 16:54
标签:myarray 就是 int ima ems enqueue 技术 过多 基本 队列也是一种表,不同的是队列在一端进行插入而在另一端进行删除。 队列的基本操作包括入队、出队操作。在表的末端插入元素,在表的开头删除元素,即先进先出(FIFO)。 对于每一个队列数据结构,保留一个数组items以及位置front和back,分别表示队列的两端,还要记录元素的个数size。操作过程应该是:当一个元素x入队,size和back增1,置items[back]=x;出队时,返回items[front],size减1,然后front增1。 初始队列: 入队: 出队: 由于数组是有边界的,上述过程重复多次后,可能出现back已经是数组的最后一个下标了,而数组中经过多次出队操作可能剩下很少甚至没有元素了,解决方式是只有front或back到达数组的尾端,它就又绕回到开头,这叫做循环数组实现。 1次入队后: 2次入队后: 1次出队后: 2次出队后: 3次出队后: 4次出队后: 关于队列,最终的就是入队和出队操作,这里使用队首和队尾与数组长度的关系判断队列是否为空、是否已满: Java数据结构与算法(3):队列 标签:myarray 就是 int ima ems enqueue 技术 过多 基本 原文地址:https://www.cnblogs.com/xiaoxiaoyihan/p/11611748.html队列模型
队列的数组实现
初始状态:代码示例
public class MyArrayQueue
上一篇:C#反射
下一篇:为什么我要用 Node.js?