В этом посте мы создадим класс LinkedList с нуля с некоторыми методами, такими как addFirst, addLast, removeFirst и removeLast.

связный список – это тип структуры данных, которая соединяет один объект с другим.

Этот объект также называется node. У узла могут быть такие свойства, как значение и другой узел. В этой статье этот узел выглядит так:

Изображение выше описывает наш класс Node в этой статье, которую я создал. Это простой класс, содержащий основные свойства, которые можно использовать в нашем классе LinkedList.

Теперь мы можем приступить к созданию класса LinkedList.

Я переместил класс Node в класс LinkedList, чтобы нам не приходилось иметь дело со сложностью класса Node, обращаясь к его свойствам.

В классе LinkedList мы должны знать, что является первым и последним узлом. Его также называют head и tail. Свойство size используется, когда мы хотим узнать количество узлов в нашем LinkedList.

Эти изображения ниже являются скриншотами кода, которые я написал. Каждая строка имеет комментарий, а некоторые строки говорят сами за себя.

добавитьпоследний()

добавитьПервый()

удалитьПервый()

NoSuchElementException — это та же ошибка, возникающая в классе java.util.LinkedList при удалении пустого списка.

удалитьПоследний()

Я создал вспомогательную функцию для получения предыдущего узла данного узла. Как вы можете видеть в комментарии, я представил простую визуализацию того, что такое getPrevious(). p обозначает предыдущую, а L — последнюю.

В этой вспомогательной функции я прошел по списку, чтобы найти предыдущий узел данного узла.

Это простые методы для класса LinkedList. Он неполный, но я могу опубликовать его на YouTube для других методов.

Спасибо за чтение. Не стесняйтесь сообщать мне об улучшениях.

Мои ссылки:

GitHub
Instagram
Twitter