реализация связанного списка в python

#python #singly-linked-list #dsa

Вопрос:

 class Node:

    def __init__(self,data):
        self.data=data
        self.next=None

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

    def printlist(self):
        pointer=self.head
        while pointer is not None:
            print(pointer.data)
            pointer = pointer.next

l=LinkedList() l.head=Node("Mon")

List item

n2=Node('Tue') n3=Node('Wed')

#linking first node to second l.head.next = n2 n2.next = n3 l.printlist()


# my doubt is how can self.head access data and next from different class
 

Комментарии:

1. В Python нет понятия public vs private , если вы об этом спрашиваете, поэтому один класс может видеть все атрибуты другого класса

Ответ №1:

 class Node:

    def __init__(self,data):
        self.data=data
        self.next=None

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

    def printlist(self):
        pointer=self.head
        while pointer is not None:
            print(pointer.data)
            pointer = pointer.next

l=LinkedList() 
l.head=Node("Mon")
l.head.next=Node('Tue') 
l.head.next.next=Node('Wed')
l.printlist()
 

Мы можем хранить объекты другого класса в голове , у нас нет никаких ограничений на это в python.

в этом коде l.head=Узел(«Mon»), где Узел(«Mon») является объектом класса Node, который мы храним в l.head.