Мотив
Этот пост посвящен изучению реализации связанного списка в Swift. Этот пост предназначен строго для тех, кто знаком со Swift и Linked list в целом. Итак, давайте попробуем это на практике.
Создание узла
Мы создали класс Node со значением и переменными next. У него есть метод printNode, который печатает все связанные с ним узлы. Давайте создадим класс связанного списка.
Создание класса связанного списка
Мы создали класс связанного списка, который имеет родительский узел и последний узел.
CreateLinkedListWithElements создает связанный список с заданным массивом.
Инициализация связанного списка
Мы создали объект связанного списка с целочисленным массивом, а затем печатаем узел связанного списка за узлом
Добавление элементов в связанный список
Давайте запишем этот метод в созданный нами класс связанного списка.
Теперь используйте этот метод, чтобы добавить элементы в связанный список, который мы создали непосредственно перед этим.
Так что добавлять элементы в связанный список довольно просто.
Вставка значения в связанный список
Напишите этот метод в классе связанного списка.
Теперь посмотрим, как мы можем это использовать.
Как видите, мы вставили значение 64 в индекс 8 в списке, который мы создали ранее. Он вставляет значение и печатает весь список узел за узлом
Удаление узла из связанного списка
Теперь удалим узел из связанного списка. Напишите этот метод в своем классе связанного списка
Теперь посмотрим, как мы можем это использовать.
Как видите, мы удалили узел в позиции 2, которая в данном случае равна 2, и после удаления он распечатывает все узлы один за другим.
Получите последнее значение
Давайте использовать его, чтобы получить значение
Получить значение при индексе
Теперь давайте попробуем получить значение в данной позиции.
Напишите этот метод в своем классе связанного списка
Давайте воспользуемся этим методом, чтобы получить значение в позиции 3 из созданного нами связанного списка.
Получить длину связанного списка
Теперь давайте напишем метод в классе связанного списка, чтобы получить длину связанного списка.
Давай воспользуемся этим.
Заключение
Это все основные операции со связанным списком. Теперь вы можете попробовать и проделать с ним некоторые продвинутые вещи, такие как реверсирование связанного списка и т. Д. Попытайтесь также реализовать двусвязный список, в котором узел имеет два указателя следующий и предыдущий, и используйте его со всеми методами, такими как реверсирование. Вот и все, следите за следующей структурой данных, которую я придумаю. Спасибо!