gpt4 book ai didi

java - 使用链表排队

转载 作者:行者123 更新时间:2023-11-29 05:57:26 26 4
gpt4 key购买 nike

我正在用 Java 实现链接队列。但是,当我运行我的代码时出现错误。

public class LinkedQueue<E> implements Queue<E> {
private int count;
private Node<E> front, rear;

public LinkedQueue() {
count = 0;
front = rear = null;
}

public void enqueue (E element) {
Node<E> node = new Node<E> ();

if (isEmpty())
front = node;
else
rear.setNext (node);

rear = node;
count++;
}

public E dequeue() throws QueueEmptyException {
if (isEmpty())
throw new QueueEmptyException ("queue");

E result = front.getElement();
front = front.getNext();
count--;

if (isEmpty())
rear = null;

return result;

}

public E first() throws QueueEmptyException {
if (isEmpty())
throw new QueueEmptyException ("queue");

return front.getElement();
}


public boolean isEmpty() {
return (front == rear);
}


public int size() {
return count;
}


public E front() throws QueueEmptyException {
if (isEmpty())
throw new QueueEmptyException("Queue underflow.");
return (E) front.getNext();
}
}

我一直在配置我的 LinkedQueue 中的错误。请帮我修复代码。我是 Java 的新手,错误可能是由语法错误引起的。

最佳答案

您可以使用 java.util.LinkedList 泛型类中 Queue 的所有功能。使用 addLast 方法使元素入队,使用 removeFirst 方法使元素出队。由于 LinkedList 是双向链接的,您应该会看到 Queue 的所有性能优势。

关于java - 使用链表排队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11523932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com