Java 基于链表的队列
时间: 2023-06-25 17:02:55 浏览: 95
以下是 Java 基于链表的队列的示例代码:
```java
public class LinkedListQueue<E> {
private Node<E> head;
private Node<E> tail;
private int size;
private static class Node<E> {
E data;
Node<E> next;
Node(E data) {
this.data = data;
next = null;
}
}
public LinkedListQueue() {
head = null;
tail = null;
size = 0;
}
public void enqueue(E data) {
Node<E> newNode = new Node<>(data);
if (isEmpty()) {
head = newNode;
tail = newNode;
} else {
tail.next = newNode;
tail = newNode;
}
size++;
}
public E dequeue() {
if (isEmpty()) {
return null;
}
E data = head.data;
head = head.next;
size--;
if (isEmpty()) {
tail = null;
}
return data;
}
public int size() {
return size;
}
public boolean isEmpty() {
return size == 0;
}
}
```
该类使用内部类 `Node` 来表示链表中的节点。`enqueue` 方法将新元素添加到队列的末尾,而 `dequeue` 方法从队列的开头删除并返回元素。`size` 和 `isEmpty` 方法用于获取队列的大小和判断队列是否为空。
阅读全文
相关推荐















