Я пишу программу связанного списка в python 3.7.7. Для этого я создал 2 класса с именами: Node
и Linked List
.
class Node:
def __init__(self, data):
self.data = data
self.next = None
Класс узла содержит структура каждого узла, то есть имеет 2 атрибута. Класс Linked List содержит следующие функции:
class LinkedList:
# UTILITY FUNCTIONS
# Function to push a node
def lpush(head_ref, new_data):
# allocate node
new_node = Node(new_data)
new_node.next = head_ref
head_ref = new_node
return head_ref
# Function to print linked list
def lprint(node):
count = 0
while node != None:
print(node.data, end=" ")
node = node.next
count = count + 1
В функции драйвера я создаю объект узла (заголовка) класса Node со значением -1.
head = Node(-1)
и я создал объект класса LinkedList с именем Llist
llist = LinkedList()
Теперь я пытаюсь вставить значения в связанный список, вызывая функцию lpu sh ()
for i in range(20, 0, -1):
head = llist.lpush(head, i)
но выдает следующую ошибку.
> Traceback (most recent call last):
File "/home/subham-brc/Python-3.7.3/Python Files/Linked List/8.py", line 79, in <module>
head = llist.lpush(head, i)
TypeError: lpush() takes 2 positional arguments but 3 were given
Любая помощь очень ценится ..