• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

링크드리스트의 while cur.next: 부분이 제가 이해한 것이 맞는지 질문드립니다.

23.08.31 13:25 작성 조회수 292

1

else:
            cur = self.head # cur 포인터는 head가 가리키는 곳을 가리킴(현재는 1의 값을 가진 노드를 가리킴)
            while cur.next: # cur.next값은 곧 head가 가리키는 new_node의 next값인 Node이므로 False라서 while문 탈출
                cur = cur.next
            cur.next = new_node # None값을 가지는 노드를 새로 들어온 노드와 연결 

링크드 리스트부터 갑자기 이중 포인터가 사용되서 이해하기가 어려웠는데요, 결국에는 cur가 가리키는 값이 head이고, head가 가리키는 것이 new_node인데, 현재 new_node의 next값은 None이므로, 이것을 새로 추가된 노드를 가리키게 하기 위해 cur.next = new_node로 작성한 것인가요?

답변 1

답변을 작성해보세요.

0

안녕하세요 ambition님

 

링크드리스트의 맨 뒤에 새로운 노드를 연결하는 코드입니다!

그렇기 대문에 맨 끝 노드로 cur_node를 옮기고 (while문을 통해)

맨 끝 노드로 갔으면 거기서 cur_node.next 로 new_node를 연결해주는 코드입니다!

혹시 더 궁금하신점 있으면 질문주세요 ~