Мотив

Этот пост посвящен изучению реализации связанного списка в Swift. Этот пост предназначен строго для тех, кто знаком со Swift и Linked list в целом. Итак, давайте попробуем это на практике.

Создание узла

Мы создали класс Node со значением и переменными next. У него есть метод printNode, который печатает все связанные с ним узлы. Давайте создадим класс связанного списка.

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

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

CreateLinkedListWithElements создает связанный список с заданным массивом.

Инициализация связанного списка

Мы создали объект связанного списка с целочисленным массивом, а затем печатаем узел связанного списка за узлом

Добавление элементов в связанный список

Давайте запишем этот метод в созданный нами класс связанного списка.

Теперь используйте этот метод, чтобы добавить элементы в связанный список, который мы создали непосредственно перед этим.

Так что добавлять элементы в связанный список довольно просто.

Вставка значения в связанный список

Напишите этот метод в классе связанного списка.

Теперь посмотрим, как мы можем это использовать.

Как видите, мы вставили значение 64 в индекс 8 в списке, который мы создали ранее. Он вставляет значение и печатает весь список узел за узлом

Удаление узла из связанного списка

Теперь удалим узел из связанного списка. Напишите этот метод в своем классе связанного списка

Теперь посмотрим, как мы можем это использовать.

Как видите, мы удалили узел в позиции 2, которая в данном случае равна 2, и после удаления он распечатывает все узлы один за другим.

Получите последнее значение

Давайте использовать его, чтобы получить значение

Получить значение при индексе

Теперь давайте попробуем получить значение в данной позиции.

Напишите этот метод в своем классе связанного списка

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

Получить длину связанного списка

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

Давай воспользуемся этим.

Заключение

Это все основные операции со связанным списком. Теперь вы можете попробовать и проделать с ним некоторые продвинутые вещи, такие как реверсирование связанного списка и т. Д. Попытайтесь также реализовать двусвязный список, в котором узел имеет два указателя следующий и предыдущий, и используйте его со всеми методами, такими как реверсирование. Вот и все, следите за следующей структурой данных, которую я придумаю. Спасибо!