Java Метод вставки связанных списков без дубликатов? - PullRequest
0 голосов
/ 06 мая 2020

Я не смог найти подходящий метод для вставки двусвязных списков. Я хочу добавлять элементы в связанные списки, но без дублирования разрешений. Если я напишу новый метод для метода вставки, я смогу это сделать, но я также не хочу писать новый метод, просто нужно найти правильное условие if . Мой код выглядит так:

public void insert(int newNumb) 
{
    DoubleLink newLink = new DoubleLink(newNumb);
    DoubleLink previous = null;
    DoubleLink current = first;

    while(current != null && newNumb> current.number)
    { 
        previous = current;
        current = current.next;
    }
    if(previous==null) 
        first = newLink; 
    else 
        previous.next = newLink; 
    newLink.next = current;
}

1 Ответ

0 голосов
/ 06 мая 2020
public void insert(int newNumb) 
{
    DoubleLink newLink = new DoubleLink(newNumb);
    DoubleLink previous = null;
    DoubleLink current = first;

    while(current != null && newNumb >= current.number)
    { 
        previous = current;
        current = current.next;
    }
    if(previous == null) 
        first = newLink; 
    else {
        if(previous.number == newNumb) // newNumb is already in the list
            return; // do nothing
        previous.next = newLink; 
    }         
    newLink.next = current;
}
...