Как добавить в начало связанный список в Java - PullRequest
0 голосов
/ 20 июля 2010

Я создаю функцию связанного списка для домашней работы, которая добавляется по любому индексу, кроме последнего, но я не понимаю, как создать условие targetList.addToIndexAt(81,0); без дозорных узлов

РЕДАКТИРОВАТЬ Хорошо, я исправил все проблемы, кроме одной.На этот раз код выполняет код, который сообщает, что результат равен 81,0,0,0,0, что означает, что after возвращает значение 0 в каждом цикле кода.How do i make the after=after.tail retain it's number?

public void addToIndexAt(int n, int index){
    IntList addition = new IntList(n);
    if(index==0){  //THIS IS MY PROBLEM
            IntList beginning=this;
        IntList after=this;
        IntList current=this;
        IntList temp=this;
        while(after.tail!=null){
            after=after.tail;
            temp=after;
            after.head=current.head;
        }
        beginning.head=n;
    }
    else{
        IntList after = this;
        IntList before = this;
        int nafter = index;
        int nbefore = index;
        while(nafter>0){
            after = after.tail;
            nafter--;
            }
        addition.tail = after; 
        while(nbefore>1){
            before = before.tail;
            nbefore--;
            }
        before.tail= addition;
    }
}

1 Ответ

3 голосов
/ 20 июля 2010

Кажется, вы рассматриваете класс Node так же, как класс List. Для меня это разные. Я бы предложил создать класс с именем List, который содержит ссылку на первый узел в списке.

В качестве альтернативы, вы можете попробовать немного изменить свой код, когда метод вставки возвращает новый заголовок списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...