Итак, я писал связанный список на Python с использованием классов, и после успешного определения и запуска всех методов, которые я настроил для класса, я решил создать метод «вставки», в котором вы предоставляете нужные данные. для вставки и индекс того места, куда вы хотите его вставить.
После написания я протестировал его в другом файле: я вызвал конструктор, передал списку некоторые данные, используя " push" и пытался вставить другие данные методом "insert".
Я столкнулся с бесконечным циклом - данные сами были вставлены, но после попытки распечатать все содержимое внутри списка с помощью оператора for попадает в цикл, бесконечно печатая одни и те же данные.
Я проверил код несколько раз и попытался исправить его, но проблема все еще существовала.
Кроме того, если я попытаюсь поместить данные в начало списка, они не будут вставлены.
Может кто-нибудь объяснить мне, что заставило код войти в этот цикл и как это исправить?
Вот код метода "insert" и класса "Node", который помогает классу «Связанный список»:
class Node:
'''To assist the linked list class'''
def __init__(self, content):
self.node = content
self.next = None
def insert(self, content, index: int = 0) -> bool:
'''Insert data in a specific index'''
if index == 0:
locate = Node(content)
locate.next = self.head
return True
else:
locate = self.head
for i in range(1, index):
locate = locate.next
if locate is None:
raise IndexError("Index out of range!")
temp = locate
aux = Node(content)
locate.next = aux
aux.next = temp
return True
Подробнее здесь: https://stackoverflow.com/questions/786 ... -on-python