用链表实现队列java
时间: 2024-10-25 11:12:15 浏览: 8
链表可以用来实现队列数据结构,这是因为链表的特点支持高效的插入和删除操作。在Java中,我们可以创建两个指针,一个叫做`front`指向队列的头部,另一个叫做`rear`指向队列的尾部。以下是基本的单向链表队列实现:
```java
public class LinkedListQueue {
private Node front; // 队首节点
private Node rear; // 队尾节点
// 结点类定义
private static class Node {
int data;
Node next;
Node(int data) {
this.data = data;
this.next = null;
}
}
// 添加元素到队尾
public void enqueue(int value) {
Node newNode = new Node(value);
if (rear == null) {
front = rear = newNode;
} else {
rear.next = newNode;
rear = newNode;
}
}
// 从队首移除元素并返回
public int dequeue() {
if (front == null) {
throw new IllegalStateException("Queue is empty");
}
int removedValue = front.data;
front = front.next;
if (front == null) {
rear = null;
}
return removedValue;
}
// 判断队列是否为空
public boolean isEmpty() {
return front == null;
}
}
```
阅读全文