Linked List in Python
Linked list (связанный список) - это структура данных, состоящая из узлов, каждый из которых содержит данные и ссылку на следующий узел в списке. Последний узел может содержать ссылку на None (null), чтобы обозначить конец списка.
В Python связанный список может быть реализован с помощью классов. Рассмотрим пример реализации простого связанного списка:
python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def append(self, data):
new_node = Node(data)
# Если список пустой, новый узел становится головой списка
if not self.head:
self.head = new_node
else:
# Иначе находим последний узел и добавляем новый узел после него
last_node = self.head
while last_node.next:
last_node = last_node.next
last_node.next = new_node
def display(self):
current_node = self.head
while current_node:
print(current_node.data, end=" ")
current_node = current_node.next
print()
# Создаем связанный список и добавляем элементы
llist = LinkedList()
llist.append(1)
llist.append(2)
llist.append(3)
# Выводим содержимое списка
llist.display()
В этом примере у нас есть два класса - `Node` и `LinkedList`. Класс `Node` представляет узел списка, а класс `LinkedList` представляет сам связанный список. В методе `append` мы создаем новый узел и добавляем его в конец списка. Метод `display` используется для отображения содержимого списка.
В результате выполнения кода, вывод будет:
1 2 3
Таким образом, мы создали связанный список с элементами 1, 2 и 3, и вывели его содержимое.
Это базовая реализация связанного списка в Python. В дополнение к методам, показанным выше, можно реализовать множество других операций для работы со связанным списком, таких как удаление элемента, поиск элемента, вставка элемента и т. д.