Узнать размер listNode
Функция принимает listNode, как узнать ее размер? length и size не работают просто, есть вариант получить число ячеек? И по возможности напишите все функции по работе с листнодом пожалуйста.
Функция принимает listNode, как узнать ее размер? length и size не работают просто, есть вариант получить число ячеек? И по возможности напишите все функции по работе с листнодом пожалуйста.
listNode не имеет размера - это элемент LinkedLista фактически (связного списка). По аналогии с массивом представляйте его, как ячейку массива. Однако есть большая разница. Размер связного списка не известен. И единственный способ его посчитать - пройтись от головы списка, до хвоста, где каждый элемент - это отдельный listNode. Сам по себе listNode не имеет функций. У него фактически есть: в лучшем случае, три значения: val (что записано в этом узле, например для
LinkList< Integer >
там будет записано какое-то число, для LinkedList< Car > будет храниться объект типа Car), есть ссылка на следующий элемент листа next (по ней вы и можете определить размер LinkedList: вы будете инкрементировать значение переменной счетчика начиная с головы, и пока не достигнете значения NULL - это будет означать что список закончился), и есть ссылка не предыдущий элемент previous (это при условии, что LinkedList двунаправленный, то есть каждый элемент имеет ссылку как на следующий элемент, так и на предыдущий).
Если вас интересовали не методы узла, а методы самого связного списка, то class LinkedList реализует интерфейсы Collection, List, Queue, соответственно он имеет все методы данных интерфейсов. В том числе и метод size().