Я реализую метод add (E) в циклическом классе DoublyLinkedList, а также во внутреннем классе Node.
Узел должен быть реализован как закрытый внутренний класс.
Атрибут «first» DoublyLinkedList должен указывать на первый узел в списке. Его атрибут «size» должен хранить количество элементов в списке.
Я борюсь за свой метод add, потому что мне кажется, что все в порядке, и я не знаю, что еще я могу добавить этот код, который может это исправить.
Поэтому краткое введение в метод add.
Метод add (E) должен добавить параметр value в конец списка. Обязательно рассмотрите случай, когда список пуст и / или добавленный элемент является первым в списке.
Вот мой код:
public class DoublyLinkedList<E>
{
private Node first;
private int size;
@SuppressWarnings("unchecked")
public void add(E value)
{
if(first == null)
{
first = new Node(value, null, null);
first.next = first;
first.prev = first;
}
else
{
first = new Node(value, first.next, first.prev);
first.next = first.prev;
first = first.next;
first.prev = first;
}
size++;
}
private class Node<E>
{
private E data;
private Node next;
private Node prev;
public Node(E data, Node next, Node prev)
{
this.data = data;
this.next = next;
this.prev = prev;
}
}
}