本文主要是介绍【Java 数据结构 算法】宁可累死自己, 也要卷死别人 4 队列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【Java 数据结构 & 算法】⚠️宁可累死自己, 也要卷死别人 4⚠️ 队列
- 概述
- 队列
- 队列实现
- enqueue 方法
- dequeue 方法
- main
- 完整代码
概述
从今天开始, 小白我将带大家开启 Jave 数据结构 & 算法的新篇章.
队列
队列 (Queue) 遵循先进先出的原则 (First-In-First-Out). 举个例子, 早上我们排队买早餐的时候, 先排的人先买后排的人后买.
队列只能在队首进行删除操作, 在队尾进行插入操作.
队列实现
enqueue 方法
// 入队
public void enqueue(E element) {array.add(array.size(), element);
}
dequeue 方法
// 出队
public E dequeue() {E element = array.get(0);array.remove(0);return element;
}
main
public static void main(String[] args) {// 创建队列Queue<Integer> queue = new Queue<>();// 存入5个元素for (int i = 0; i < 5; i++) {queue.enqueue(i);System.out.println(queue);}// 取出5个元素for (int i = 0; i < 5; i++) {queue.dequeue();System.out.println(queue);}
}
输出结果:
Queue{array=[0]}
Queue{array=[0, 1]}
Queue{array=[0, 1, 2]}
Queue{array=[0, 1, 2, 3]}
Queue{array=[0, 1, 2, 3, 4]}
Queue{array=[1, 2, 3, 4]}
Queue{array=[2, 3, 4]}
Queue{array=[3, 4]}
Queue{array=[4]}
Queue{array=[]}
完整代码
import java.util.ArrayList;public class Queue<E> {private ArrayList<E> array;// 无参构造public Queue() {array = new ArrayList<>(10);}// 有参构造public Queue(int capacity) {array = new ArrayList<>(capacity);}// 入队public void enqueue(E element) {array.add(array.size(), element);}// 出队public E dequeue() {E element = array.get(0);array.remove(0);return element;}// 队列是否为空public boolean isEmpty() {return array.isEmpty();}// 队列长度public int getSize() {return array.size();}// toString@Overridepublic String toString() {return "Queue{" +"array=" + array +'}';}public static void main(String[] args) {// 创建队列Queue<Integer> queue = new Queue<>();// 存入5个元素for (int i = 0; i < 5; i++) {queue.enqueue(i);System.out.println(queue);}// 取出5个元素for (int i = 0; i < 5; i++) {queue.dequeue();System.out.println(queue);}}
}
这篇关于【Java 数据结构 算法】宁可累死自己, 也要卷死别人 4 队列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!