Это проблема, которую мне дали: «Предположим, у вас есть класс связанного списка, который включает ОБА первый и последний указатель. Первый указывает на первый узел; последний указывает на последний узел. Если список не имеет узлов,тогда и first, и last имеют значение null.
Напишите метод экземпляра removeFirst () для этого класса связанного списка, который удаляет первый узел в списке и обновляет первый и последний соответственно. Он должен возвращать ссылочный указатель наудаленный узел. Если в списке нет узлов, когда вызывается метод removeFirst, ваш метод должен возвращать ноль. "
Код выводит ноль, если в списке нет узлов.Но когда я проверяю его, добавляя узел, код выводит адрес удаленного узла, а не значение в нем.
Я попытался поместить это в main:
Node p = list.removeFirst();
System.out.println(p);
Но яполучить эту ошибку: ошибка: несовместимые типы: LL.Node не может быть преобразован в узел
class SF5
{
public static void main(String[] args)
{
LL list = new LL();
list.addFirst(1);
System.out.println(list.removeFirst());
}
}
class LL
{
private class Node
{
private Node link;
private int x;
public Node(int x)
{
this.x = x;
}
}
private Node first = null;
private Node last = null;
public void addFirst(int d)
{
Node newNode = new Node(d);
newNode.link = first;
first = newNode;
}
public Node removeFirst()
{
Node p;
p = first;
if (p == null)
return p;
else
{
first = first.link;
return p;
}
}
}
Это вывод: LL $ Node @ 4d591d15
Я хочу, чтобы он вывел: 1