В этом посте мы создадим класс 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 для других методов.
Спасибо за чтение. Не стесняйтесь сообщать мне об улучшениях.
Мои ссылки: