기본 자료 구조들링크드 리스트링크드 리스트 탐색 연산
return iterator의 결과 값이 data값으로 나가는 것이 이해가 되지 않습니다!
조회 666
좋아요 2
2020년 11월 11일
질문이 있습니다! 어떻게 iterator는 Node의 객체로서 data값과 next값을 가지고 있는데,
왜 data값을 자동으로 리턴하나요? 생각해보니까, self.data 나 self.next 둘다 동등한 값인데 알아서 self.data가 리턴되는 것이 이해가 잘 되지 않습니다!
위의 파라미터 값을 리턴하는가 싶은데 그것 또한 이해 안되고 말이죠.
def find_node_with_data(self, data):
"""링크드 리스트에서 탐색 연산 메소드. 단, 해당 노드가 없으면 None을 리턴한다"""
iterator = self.head
while iterator is not None:
if iterator.data == data:
return iterator #이 부분입니다.
iterator = iterator.next
return None
+
class Node:
"""링크드 리스트의 노드 클래스"""
def __init__(self, data):
self.data = data # 실제 노드가 저장하는 데이터
self.next = None # 다음 노드에 대한 레퍼런스
말씀하신 게 작성해주신 코드와 좀 다른 이야기를 하고 계신 듯해서 이해가 잘 안갑니다.
질문의 첫줄에서 iterator는 Node 객체라고 말씀하셨는데 어느 부분에서 data만 return되었다고 하신건지 궁금합니다.
반환된 iteartor 값은 Node의 객체이고 함수 바깥쪽에서 Node의 .data 를 통해 data 값만 따로 출력하고 있습니다.
댓글 3개