Как проверить, заполнен ли связанный список с использованием Java? - PullRequest
0 голосов
/ 03 февраля 2011

Я выполняю задание для школы и не знаю, как проверить, заполнен ли мой связанный список

У меня есть

public boolean isFull()
{
    return back == null;
}

Но я инициализирую оба для нуля в начале, поэтому, если список пуст, этот метод также вернет true.

Я думал, может быть

public boolean isFull()
{
     if(!isEmpty())
     {
        return back == null:
     }
}

Что ты думаешь ??

В связанном списке не должно быть более 7 элементов Я забыл упомянуть об этом.

Ответы [ 2 ]

10 голосов
/ 03 февраля 2011

Нет такого понятия, как «полный» связанный список, если только у вас нет конкретной реализации, которая имеет верхнюю границу для размера.Обычно связанные списки могут расти столько, сколько вы хотите.

РЕДАКТИРОВАТЬ: Хорошо, теперь вы на самом деле объяснили цель - я лично буду вести счет со связанным списком.Многие реализации используют это, чтобы вы могли получить доступ к размеру в сложности O (1).Обычно, чтобы найти размер связанного «ванильного» списка, вы начинаете с заголовка списка и перебираете его, увеличивая счет до тех пор, пока не достигнете хвоста.Это операция O (n).Не так уж плохо для 7 элементов, но боль для миллиона.Ведение отдельного подсчета легко и дешево.

2 голосов
/ 03 февраля 2011

Поскольку вы заявили, что хотите знать, содержит ли список 7 элементов:

public boolean isFull()
{
    return list != null && list.size() >= 7;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...