링크 된 목록의 구조에서 한 가지를 이해하는 데 약간의 어려움이 있습니다. 기본적으로 연결된 클래스의 노드는 다음 클래스를 사용하여 만들고 다음 참조는 getNext() 메서드에서 가져옵니다. 내 문제와 관련이없는 다른 메서드는 생략했습니다.링크 된 목록 데이터 구조 이해
class Node:
def __init__(self,initdata):
self.data = initdata
self.next = None
def getNext(self):
return self.next
는 이제 LinkedList의를 생성하고 LinkedList의 크기를 찾으려고 할 때 :
class UnorderedList:
def __init__(self):
self.head = None
def size(self):
current = self.head
count = 0
while current != None:
count = count + 1
current = current.getNext() <-----
return count
내가 화살표로 표시된 라인을 이해하지 않습니다. 나는 다음 노드로 넘어가려고하는 논리를 알고 있지만 getNext()는 "NodeClass"의 메소드입니다. NodeClass 객체가 아닌 객체 (즉, 현재)에 의해 사용되는 방식 (getNext() 메소드)은 무엇입니까? 실제로 "UnorderedList"클래스의 객체입니다.
이 코드의 출처는 어디입니까? –
'current'는'Node' 인스턴스가 아니라고 어떻게 생각합니까? 'current = self.head'는'self.head'가 무엇이든간에'current'를 설정합니다. 'self.head'가'Node' 인스턴스 인 경우,'current'도 마찬가지입니다 –
그러나 self.head가 Node 인스턴스 인 방법은 무엇입니까? UnorderedList 클래스 객체를 초기화하는 데 사용됩니다. –