Java 数据结构 & 算法宁可累死自己, 也要卷死别人 4 队列

Posted 我是小白呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 数据结构 & 算法宁可累死自己, 也要卷死别人 4 队列相关的知识,希望对你有一定的参考价值。

【Java 数据结构 & 算法】⚠️宁可累死自己, 也要卷死别人 5⚠️ 队列

概述

从今天开始, 小白我将带大家开启 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);
    

输出结果:

Queuearray=[0]
Queuearray=[0, 1]
Queuearray=[0, 1, 2]
Queuearray=[0, 1, 2, 3]
Queuearray=[0, 1, 2, 3, 4]
Queuearray=[1, 2, 3, 4]
Queuearray=[2, 3, 4]
Queuearray=[3, 4]
Queuearray=[4]
Queuearray=[]

完整代码

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
    @Override
    public 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 队列的主要内容,如果未能解决你的问题,请参考以下文章

Java 数据结构 & 算法宁可累死自己, 也要卷死别人 20 排序算法

Java 数据结构 & 算法宁可累死自己, 也要卷死别人 18 贪心算法

Java 数据结构 & 算法宁可累死自己, 也要卷死别人 18 贪心算法

Java 数据结构 & 算法宁可累死自己, 也要卷死别人 17 KMP 算法

Java 数据结构 & 算法宁可累死自己, 也要卷死别人 17 KMP 算法

Java 数据结构 & 算法宁可累死自己, 也要卷死别人 10 哈希实现