第十七天算法设计

Queue 类:
java
package suanfa;

import java.util.LinkedList;

public class Queue {
private LinkedList list;

// 构造方法,初始化队列
public Queue() {
    list = new LinkedList<>();
}

// 入队操作,将元素添加到队列末尾
public void enqueue(int value) {
    list.addLast(value);
}

// 出队操作,移除并返回队列头部元素
public int dequeue() {
    if (isEmpty()) {
        throw new IllegalStateException("队列为空,无法出队");
    }
    return list.removeFirst();
}

// 查看队列头部元素但不移除
public int peek() {
    if (isEmpty()) {
        throw new IllegalStateException("队列为空,无法查看队首元素");
    }
    return list.getFirst();
}

// 检查队列是否为空
public boolean isEmpty() {
    return list.isEmpty();
}

// 获取队列中元素的个数
public int size() {
    return list.size();
}

}
QueueTest 类:
在 QueueTest 类中,我们可以进行一些简单的测试,演示如何使用 Queue 类。

java
package suanfa;

public class QueueTest {
public static void main(String[] args) {
Queue queue = new Queue();

    // 入队操作
    queue.enqueue(1);
    queue.enqueue(2);
    queue.enqueue(3);
    queue.enqueue(4);

    // 打印队列的当前头部元素
    System.out.println("队列头部元素: " + queue.peek()); // 输出 1

    // 出队操作并打印出队的元素
    System.out.println("出队元素: " + queue.dequeue()); // 输出 1
    System.out.println("出队元素: " + queue.dequeue()); // 输出 2

    // 查看队列的大小
    System.out.println("队列大小: " + queue.size()); // 输出 2

    // 再次出队
    System.out.println("出队元素: " + queue.dequeue()); // 输出 3
    System.out.println("出队元素: " + queue.dequeue()); // 输出 4

    // 检查队列是否为空
    System.out.println("队列是否为空: " + queue.isEmpty()); // 输出 true
}

}
录制: untitled2 – Insertion.java
录制文件:https://meeting.tencent.com/crm/KzGGkGE85d

posted @ 2025-02-10 19:01  申shen  阅读(24)  评论(0)    收藏  举报