Рубрики
Без рубрики

Список по отдельности: Реализация Python

В последнее время в моем компьютерном научном курсе я реализую по отдельно связанным списком для назначения. В соло … с меткой Python, информатика.

В последнее время в моем компьютерном научном курсе я реализую по отдельно связанным списком для назначения. Чтобы укрепить концепции, я собираюсь восстановить его в Python. И для вашей выгоды я собираюсь написать об этом.

Одно связанный список состоит из узлов, каждый из которых указывает на другой узел. Единственным исключением является последний узел, который вместо указывает на Нет Отказ Узлы также содержат значение. Это может быть почти ничего, но для этой демонстрации я просто буду использовать целые числа.

Первое, что нужно сделать, это определить класс.

class SLLNode:
    """
    A node in a singly linked list.
    Attributes:
        value - the value to be stored and displayed, integer
        next - a reference to the next Node in the list
    """

Здесь я определил класс и набросил мои планы на это. Но мне все еще нужно это реализовать. Для этого нам нужен метод инициализации. По крайней мере, нам нужен метод инициализации для этого аккуратно.

# indented with class SLLNode:
    def __init__(self, value=None, next_node=None):
        self.value = value
        self.next_node = next_node

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

node = SLLNode(7, None)
print("Node with value {} and next node {}.".format(node.value, node.next_node))

И вывод из этого:

Node with value 7 and next node None.

Так что случилось? Когда я позвонил SLLNODE (7, Нет) он побежал __init __ () Метод с аргументами 7 и Нет Отказ Это хранится 7 к атрибуту ценность и Нет к атрибуту next_node Отказ

Что у нас так далеко? У нас есть способ создать узел, и удобный способ распечатать ключевую информацию о том узле, который будет полезен для отладки движения вперед. Это довольно базовый старт, но это где я закончу это сейчас. Больше, чтобы прийти в эту серию, поскольку я создаю список.

Код для этого проекта доступен здесь на Github Отказ Я буду обновлять это постепенно, когда пишу эту серию. Я обязательно обязан совершить по крайней мере так часто, как я публикую, так что вы можете создать резервную копию и увидеть этот код, как было, когда я опубликовал данный пост.

РЕДАКТИРОВАТЬ: Следующий пост теперь доступен здесь.

Оригинал: “https://dev.to/ekand/singly-linked-list-a-python-implementation-4cm6”