Найти тему
Николай Лазарев

Двунаправленный связанный список (изучаю структуры данных)

Jan 14, 2022

Освоил основные моменты работы теперь уже с двунаправленным связанным списком. Что сделал:

'''Класс Node определяет узел'''
'''Класс задаёт связанный список'''
Метод'''Добавляем значение в конец списка'''
Метод'''Печать значений всех узлов'''
Метод'''Поиск значения в списке'''
Метод'''Поиск всех значений в списке'''
Метод'''Удалить одно найденное значение'''
* Отрабатывает пустой список
* Если в списке только один узел
* Если удаляем только один-первый найденный узел
* Удаляем узел в середине
* Удаляем узел в конце
Метод'''Удалить все найденные значение'''
Метод'''Очистить список'''
Метод'''Длина списка'''
Метод'''Вставить значение'''
# вставка после определенного значения
# вставка в начало, в пустой список
# вставка в конец, в непустой список

Нюансы: Удаление значения из пустого списка. Нужно сначала отработать вариант пустого списка. А уже потом задавать параметры last_node, node, next_node. Нюансов много, но этот я с первого раза не заметил. В целом, все интересные моменты постарался описать в комментариях к коду.

Мой код ‘'’Работа с двунаправленным связанным списком’’’

Код ‘'’проверочные тесты’’’

P.S. Похоже на однонаправленный связанный список, но есть свои нюансы.