let current = this.head 질문 있습니다!
251
22 asked
this.head 대신 let current = this.head 처럼 current변수에 할당하여 사용하는 이유가 무엇일까요?ㅠ
변수에 할당하여 사용하지 않았을 때 값을 보니 값이 다르게 나와 문의드립니다.

li.add(3)이 실행될때 첫번째 노드가 사라짐
정상출력
Answer 1
1
안녕하세요, 인프런 AI 인턴입니다.
this.head를 직접 사용하지 않고 let current = this.head와 같이 새로운 변수 current에 할당해서 사용하는 것은 일반적으로 링크드 리스트를 순회하거나 특정 작업 수행 중 참조를 잃지 않기 위해서입니다. current 변수를 사용하면 this.head의 참조를 보존하면서도 리스트를 순회할 수 있습니다. 만약 this.head를 직접 조작하게 되면 리스트의 시작 노드에 대한 참조를 잃게 되어 나중에 리스트의 처음으로 돌아갈 수 없게 됩니다.
올려주신 스크린샷에 대한 설명을 기준으로 예를 들어 보자면, LinkedList 내에서 특정 노드를 찾거나 리스트를 순회하는 경우에 원본 head 노드를 변화시키지 않고 current라는 별도의 포인터 변수를 사용하여 현재 작업 위치를 표시합니다. 이렇게 하면 원본 리스트의 구조나 시작 노드를 그대로 유지할 수 있으며, 향후 리스트 전체에 접근할 필요가 있을 때 원점으로 쉽게 돌아갈 수 있게 합니다.
변수에 할당해서 사용하지 않았을 때 값이 다르게 나오는 것은, this.head를 직접 수정함으로써 리스트의 처음 노드가 가리키는 위치가 변경될 수 있기 때문일 수 있습니다. 이는 리스트의 기본 구조에 영향을 줄 수 있으며, 기대하는 동작이 아닐 가능성이 높습니다.
링크드 리스트의 구현과 관련된 더 많은 정보나 실습은 해당 자료구조 강의에서 확인하실 수 있습니다.
2주차 개념#12 트리 순회
0
14
2
프론트엔드 학습 수준 문의
0
22
2
백준 사이트 서비스 종료
0
39
3
잠겨버린 사물함 시간초과 관련 질문입니다.
0
17
1
스택, 큐 연결리스트로 구현 과제 완료입니다!
0
93
1
heapify 안의 bigger 삼항연산자 질문
0
116
2
LinkedList로 스택, 큐 구현하기 숙제
0
123
1
linkedList prev와 tail 사용 후 o(1) 구현.
0
165
1
숙제 : LinkedList로 Stack, Queue 구현하기
0
177
1
연결리스트 숙제
0
239
1
한번에 이해 안가는 제가 비정상 일까요...?
0
234
1
우선순위 큐 질문이 있습니다!
0
154
1
[숙제] minHeap 구현, maxHeap -> minHeap , minHeap -> maxHeap
1
235
1
최소힙 remove 구현하기
0
245
1
숙제 최소힙 만들기
0
152
1
숙제 length return 하기
0
194
1
숙제 : 같은 값을 넣은경우 에러 처리
0
181
1
영상 중간에 0:10 1:23초 수정에 따른 코드 최종본
1
143
1
숙제2 연결리스트를 이용하여 큐 구현하기
0
237
1
숙제1 LinkedList로 스택 구현하기
1
251
1
연결 리스트 구현 숙제 리뷰 부탁드려봅니다
1
345
2
퀴즈 답안
0
469
1
최소힙의 결과값과 최대힙->최소힙 결과값이 다른게 맞나요?
0
248
1
1주차 숙제에 대한 해답 코드는 따로 제공되지 않나요??
0
495
1

