addLast - дважды круговой связанный список - NullPointerException - PullRequest
0 голосов
/ 07 апреля 2020

Как вставить элемент в конец дважды кругового связанного списка? Почему у меня NullPointerException при запуске?

   public void addLast( String title, double length ){

    if( isEmpty()){
        head = new Episode(title, length, head, head);
      }else{
      Episode last = head.prev;
      Episode new_episode = new Episode(title, length, head, last);

      }
      }

1 Ответ

0 голосов
/ 07 апреля 2020

Код устанавливает ссылки нового узла, но не обновляет существующие ссылки в списке. Исправлено замечено в комментариях:

    if( isEmpty()){            // assuming if empty, head == null
        head = new Episode(title, length, head, head);
        head.next = head;      // fix
        head.prev = head;      // fix
    } else {
      Episode last = head.prev;
      Episode new_episode = new Episode(title, length, head, last);
      last.next = new_episode; // fix
      head.prev = new_episode; // fix
    }
...