эй, ребята, это мой код:
public void add(int data) {
Node n = new Node(data);
if (n.next == null) {
head = tail = n;
}
else {
tail.next = n;
n.next = null;
n = tail;
}
}
когда я добавляю один элемент в новую очередь и запускаю, я перечисляю, что такое голова, хвост и список:
Output:
Head=null Tail=null {};
{} означает, что список пуст, когда этого не должно быть, что я делаю неправильно...
Я думаю, что ваша логика для вставки в очередь неправильная...
Посмотрите на алгоритм и реализацию очереди здесь.
В качестве примера попробуйте выполнить следующее:
public void add(int data) {
Node n = new Node(data);
n.next = null;
if (head == NULL) {
head = n;
} else {
tail->next = n;
}
tail = n;
}