작성
·
60
0
103번이 room인데 room.Next.Prev 가 103이 되는게 아니라 102 가 된다는 것이 이해가 잘 되지 않습니다.
앞으로갔다가 뒤로 가면 자기 자신 이라고 생각했는데 잘 모르겠어요
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 김도현님께서 이해하기 어려워하시는 부분을 도와드리겠습니다. 연결 리스트에서 room.Next.Prev
가 어떻게 동작하는지를 알아보겠습니다.
기본적으로, 연결 리스트에서 각 노드는 두 개의 포인터(혹은 참조)를 가지고 있습니다: Next
와 Prev
. Next
는 다음 노드를 가리키고, Prev
는 이전 노드를 가리킵니다.
room
이 103번 노드라고 가정할 때, room.Next.Prev
는 다음 노드(104번 노드)에서 이전 노드를 가리키는 포인터를 말합니다. 즉, 104번 노드의 Prev
는 자연스럽게 103번 노드를 가리키게 됩니다.
왜냐하면 104번 노드의 Prev
는 그 노드의 이전 노드가 무엇인지에 대한 정보를 가지고 있고, 현재 104번 노드의 이전 노드는 103번 노드이기 때문입니다.
따라서 단방향으로 이동해서 다시 돌아올 때(Next
로 이동하고 Prev
로 돌아올 때), room.Next.Prev
는 원래의 노드(103번)를 정확하게 가리키는 것이 맞습니다.
더 깊이 있는 이해를 원하신다면, 아래 링크를 통해 비슷한 주제의 논의를 확인해보시기 바랍니다:
각 링크는 Prev
와 Next
의 설정 방법 및 작동 원리에 대한 추가적인 설명을 제공합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.