ДВУСВЯЗНЫЙ СПИСОК PYTHON ПЕРЕВЕРНУТЬ
Двусвязный список - это структура данных, в которой каждый элемент содержит ссылку на предыдущий и следующий элементы списка. В Python можно легко создать такой список используя классы. Для того, чтобы перевернуть двусвязный список в Python, можно использовать следующий алгоритм:
current = headwhile current is not None: temp = current.prev current.prev = current.next current.next = temp current = current.previf temp is not None: head = temp.prev
В этом алгоритме мы начинаем с головы списка и обходим его элементы, меняя местами ссылки на предыдущие и следующие элементы местами. Если голова списка была в изначальном положении, она должна быть изменена на последний элемент, чтобы он стал новой головой.
Пример создания двусвязного списка в Python:
class Node: def __init__(self, data): self.data = data self.prev = None self.next = None class DoublyLinkedList: def __init__(self): self.head = None # добавить элемент в список def append(self, data): new_node = Node(data) if self.head is None: self.head = new_node return current = self.head while current.next is not None: current = current.next current.next = new_node new_node.prev = current # перевернуть список def reverse(self): current = self.head while current is not None: temp = current.prev current.prev = current.next current.next = temp current = current.prev if temp is not None: self.head = temp.prev # вывести список def print_list(self): current = self.head while current is not None: print(current.data) current = current.next# пример использованияdll = DoublyLinkedList()dll.append(1)dll.append(2)dll.append(3)dll.print_list()dll.reverse()dll.print_list()
Вывод программы:
123321
Как видно из вывода, список был успешно перевернут, иначе элементы выводились бы в обратном порядке.
#10. Двусвязный список. Структура и основные операции - Структуры данных
Решаю задачу с собеседования в Яндекс: reverse linked list
Работа со связным списком в Python. Решение 206 задачи Leetcode
Структуры данных в Python #2 Двусвязные списки
Структуры данных в Python #1: Односвязные списки
#11. Делаем двусвязный список на С++ - Структуры данных
Двусвязный список - Динамические структуры данных #2
Linked List на Python (Связный Cписок на Python) 2021
Новые материалы:
- Django sql запросы
- Docx python разрыв страницы
- Как в python нарисовать квадрат
- Хэш таблицы python
- Os system cls python не работает
- Like в python
- Python manage py runserver не работает
- Python облако слов
- Python обратное распространение ошибки
- Panda3d python скачать
- Обучение с подкреплением pytorch
- Обращение фрагмента python