Все, что вам нужно знать о создании связанных списков с помощью JavaScript

Во-первых, если вы не знаете, что такое связанный список, я рекомендую вам прочитать мою статью 4 структуры данных, которые должен знать каждый разработчик для быстрого освежения знаний. По сути, связанный список — это структура данных, похожая на массив в том смысле, что это линейная структура данных, но вместо этого она состоит из отдельных объектов, называемых узлами, для которых данные и указатель следующий узел в связанном списке.

Создание простого связанного списка

Первым шагом в создании связанного списка является создание класса javascript, который содержит все узлы и ссылку на первый узел, который мы назовем head связанного списка. Этот первый узел будет передан через конструктор в связанный список.

Следующим шагом будет создание другого класса javascript для представления узлов. Этот класс будет содержать две переменные: data, которая будет содержать некоторый тип информационного театра, будь то строка, целое число или любой другой тип данных, и next, которая будет действовать как указатель. к следующему узлу в связанном списке.

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

Доступ к узлам возможен через доступ к свойствам основной переменной списка.

Добавление дополнительных функций в наш связанный список

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

Первое, что мы можем сделать, это создать функцию в классе Linked List, которая возвращает его размер. Этого можно достичь, перебирая каждый узел связанного списка и увеличивая переменную-счетчик, как показано ниже. Когда найден узел со следующим значением null, мы знаем, что находимся в конце связанного списка, и возвращаем значение счетчика.

Изменив функцию getSize, мы также можем найти последний узел в связанном списке, вместо этого сохраняя ссылку на последний узел в итерации цикла while вместо переменной-счетчика. Подобно функции getSize, когда найден узел, не имеющий следующего значения, этот узел возвращается как последний узел.

Мы также можем получить первый узел, вернув узел head из связанного списка . Мы также можем очистить связанный список, установив head node в ноль.

Дальнейшее чтение

Если вам понравилась эта статья, проверьте еще несколько из списка ниже!





Хорошего дня!