добавить элемент в конце списка связанных ссылок [закрыт]

1

Задача состоит в том, чтобы добавить элемент в конце связанногоList с помощью boolean

/**
* Appends the specified element to the end of this list
* @param element element to add to the list
* @return true
* @throws NullPointerException when element is null
*/

Мое решение

public boolean add(T element) {
    ListNode newElement = new ListNode (element);
    while (cur.link == !null) {
        cur = cur.link;
        cur.link = newElement(element, null); 
        if (cur==null) {
            throw new NullPointerException;
        }
    }
    return true;
}

Нужна помощь в исправлении кода.

  • 0
    Непонятно, в чем ваша проблема.
  • 0
    Начните с правильного отступа вашего кода. Затем прочитайте сообщения об ошибках, которые вы получите от компилятора. Затем выполните ваш код шаг за шагом, на бумаге. Какой смысл всегда возвращать true из метода? Почему при добавлении элемента в конец списка возникает исключение?
Показать ещё 5 комментариев
Теги:
linked-list

2 ответа

3

Вам нужно будет убедиться, что переменная cur инициализирована чем-то и изменит следующую строку != вместо == !

while (cur.link != null) {

Это поможет с компиляцией @rpax сделать тяжелый подъем.

0

Вам нужно перейти в конец списка.

public boolean add(T element)
{

    ListNode cur= this.firstNode; //or something similar
    ListNode newElement = new ListNode (element);
    while (cur.link !=null) {
      cur=cur.link;
      // cur.link = newElement(element, null); 
    }
    //cur.link is null now
    cur.link = newElement(element, null); 
    return true;
}
  • 1
    Это все еще не компилируется!
  • 0
    @Seelenvirtuose извините, я забыл изменить !=

Ещё вопросы

Сообщество Overcoder
Наверх
Меню