«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как реализовать односвязный список в Python

Как реализовать односвязный список в Python

Опубликовано 2 ноября 2024 г.
Просматривать:739

How to Implement Singly Linked List in Python

class Node:
    def __init__(self,value):
        self.value = value
        self.next = None

class LinkedList:
    def __init__(self):
        self.head = None

    def add_front(self,value):
        new_node = Node(value)
        new_node.next = self.head
        self.head = new_node
    def add_back(self,value):
        new_node = Node(value)
        if self.head is None:
            self.head = new_node
        else:
            current = self.head
            while current.next is not None:
                current = current.next
            current.next = new_node
    def print_list(self):
        current = self.head
        while current is not None:
            print(current.value)
            current = current.next

list1 = LinkedList()

list1.add_front(1)
list1.add_front(2)
list1.add_back(3)
list1.print_list()

1. Класс узла:

  • Представляет отдельный элемент в связанном списке.
  • Каждый узел имеет два атрибута: значение для хранения данных и рядом, указывающее на следующий узел в списке.
  • При создании узла его следующий указатель устанавливается на None.

2. Класс LinkedList:

  • Управляет операциями связанного списка.
  • Имеет заголовок атрибута, который является начальной точкой связанного списка. Изначально для параметра head установлено значение None, поскольку список пуст.

3. Метод add_front:

  • Добавляет новый узел в начало связанного списка.
  • С указанным значением создается новый узел.
  • Следующий указатель нового узла устанавливается на текущий заголовок списка.
  • Затем заголовок списка обновляется до нового узла.

4. Метод add_back:

  • Добавляет новый узел в конец связанного списка.
  • С указанным значением создается новый узел.
  • Если список пуст (т. е. заголовок имеет значение None), новый узел устанавливается в качестве заголовка.
  • Если список не пуст, он переходит к концу списка, а затем обновляет указатель следующего узла последнего узла, чтобы он указывал на новый узел.

5. print_list Метод:

  • Печатает все значения в связанном списке от начала до конца.
  • Начинается с головы и проходит по каждому узлу, используя указатель следующего, пока он не достигнет конца (Нет), печатая значение каждого узла.

6. Пример использования:

  • Создается экземпляр LinkedList.
  • add_front вызывается дважды, чтобы добавить узлы со значениями 1 и 2 в начало списка.
  • add_back вызывается для добавления узла со значением 3 в конец списка.
  • print_list вызывается для печати значений всех узлов в связанном списке. Результат — 2, 1, 3, что показывает, что узлы были добавлены правильно.
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/thirumalesh/how-to-implement-singly-linked-list-in-python-40kc?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3