Я читал о очередях в реализации Java. Я нашел следующий кодметоды декомпрессии и очереди в реализации очереди
public class QueueOfStrings {
private Node first = null; // least-recently added
private Node last = null; // most-recently added
private class Node {
private String item;
private Node next;
}
// is the queue empty?
public boolean isEmpty() {
return first == null;
}
public String dequeue() {
if (isEmpty()) {
throw new RuntimeException("Queue underflow");
}
String item = first.item;
first = first.next;
return item;
}
public void enqueue(String item) {
Node x = new Node();
x.item = item;
if (isEmpty()) {
first = x;
last = x;
} else {
last.next = x;
last = x;
}
}
Я переписывать их на моем пути, как это:
public String dequeue() {
if (isEmpty()) {
throw new RuntimeException("Queue underflow");
} else if (first = last) {
String f = first.item;
first = null;
last = null;
return f;
}
String f = first.item;
first = first.next;
return f;
}
public void enqueue(String item) {
Node x = new Node(item);
if (first = last = null) {
first = last = x;
}
last.next = x;
last = x;
}
я делаю прямо в DEQUEUE() и Епдиеие() методы?
В основной метод, который я должен сделать так:
public static void main(String[] args) {
QueueOfStrings q = new QueueOfStrings();
q.enqueue("roro");
q.enqueue("didi");
q.enqueue("lala");
System.out.println(q.dequeue());
}
Благодаря
, что имеется в виду под "Могу ли я делать запись в DEQUEUE() и Епдиеие() методы?" ? - также, ваш последний, если должен быть, если (first == null && last == null) {вместо if (first = last = null) { – matt
Я имел в виду право. Я нашел в других кодах, которые они используют иногда 'first = last = null' – Joe
это даже не компилируется. Что вы пытаетесь сделать с first = last = null? –