Jan 14, 2022
Освоил основные моменты работы теперь уже с двунаправленным связанным списком. Что сделал:
'''Класс Node определяет узел'''
'''Класс задаёт связанный список'''
Метод'''Добавляем значение в конец списка'''
Метод'''Печать значений всех узлов'''
Метод'''Поиск значения в списке'''
Метод'''Поиск всех значений в списке'''
Метод'''Удалить одно найденное значение'''
* Отрабатывает пустой список
* Если в списке только один узел
* Если удаляем только один-первый найденный узел
* Удаляем узел в середине
* Удаляем узел в конце
Метод'''Удалить все найденные значение'''
Метод'''Очистить список'''
Метод'''Длина списка'''
Метод'''Вставить значение'''
# вставка после определенного значения
# вставка в начало, в пустой список
# вставка в конец, в непустой список
Нюансы: Удаление значения из пустого списка. Нужно сначала отработать вариант пустого списка. А уже потом задавать параметры last_node, node, next_node. Нюансов много, но этот я с первого раза не заметил. В целом, все интересные моменты постарался описать в комментариях к коду.
Мой код ‘'’Работа с двунаправленным связанным списком’’’
P.S. Похоже на однонаправленный связанный список, но есть свои нюансы.