第十七天算法设计
Queue 类:
java
package suanfa;
import java.util.LinkedList;
public class Queue {
private LinkedList
// 构造方法,初始化队列
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
浙公网安备 33010602011771号