-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
해결됨
연결리스트 관련 질문
23.02.03 20:43 작성 23.02.03 20:43 수정 조회수 254
0
let currentNode = this.head;
for (let i = 0; i < index - 1; i++) {
currentNode = currentNode.next;
}
newNode.next = currentNode.next;
currentNode.next = newNode;
currentNode = currentNode.next 이 부분이 잘 이해가 안갑니다.
답변을 작성해보세요.
0
이동근
질문자2023.02.03
빠른 답변 감사합니다. 👍
그럼 index가 3이면
index = 0 이면 currentNode = 1
index = 1 이면 currentNode = 2
index = 2 이면 currentNode = 3
최종적으로는 3을 가르키게 되는건가요?!
감자
지식공유자2023.02.03
아닙니다.
let currentNode = this.head;
이 코드로 처음부터 1을 currentNode가 가리키고 있습니다.
만약 1,2,3 세 개의 원소가 있을 때 index 2로 설정했다면
for문의 index 0일때는
current = current.next
로 2를 가리키고
index 1일 땐 3을 가리킵니다.
for문 내 조건문에서 i < index - 1 번 반복하기 때문에 2번만 반복하고
최종적으로 3을 가리키게 되는 것입니다.
0
감자
지식공유자2023.02.03
현재노드를 현재노드가 가리키는 다음 노드로 이동하는 코드입니다.
A - B - C
이렇게 있는 연결리스트에서 currentNode가 A를 가리키고 있었다면
currentNode.next는 B를 가리키고 있는 상황입니다.
따라서 currentNode = currentNode.next를 하게되면 currentNode는 B를 가리키게됩니다.
이렇게되면 currentNode.next는 C를 가리키겠죠?
답변 2