강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của ldk29488114
ldk29488114

câu hỏi đã được viết

Học cấu trúc dữ liệu và thuật toán dễ dàng qua hình ảnh (Phần cơ bản)

Danh sách liên kết - Triển khai

연결리스트 관련 질문

Đã giải quyết

Viết

·

428

·

Đã chỉnh sửa

1

 

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 이 부분이 잘 이해가 안갑니다.
알고리즘algorithm

Câu trả lời 2

0

ldk29488114님의 프로필 이미지
ldk29488114
Người đặt câu hỏi

빠른 답변 감사합니다. 👍

그럼 index가 3이면

index = 0 이면 currentNode = 1

index = 1 이면 currentNode = 2

index = 2 이면 currentNode = 3

최종적으로는 3을 가르키게 되는건가요?!

gamja5님의 프로필 이미지
gamja5
Người chia sẻ kiến thức

아닙니다.

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을 가리키게 되는 것입니다.

ldk29488114님의 프로필 이미지
ldk29488114
Người đặt câu hỏi

배열하고 헤깔린 것 같습니다!ㅜ

이해했습니다!

감사합니다.

0

gamja5님의 프로필 이미지
gamja5
Người chia sẻ kiến thức

현재노드를 현재노드가 가리키는 다음 노드로 이동하는 코드입니다.

A - B - C

이렇게 있는 연결리스트에서 currentNode가 A를 가리키고 있었다면

currentNode.next는 B를 가리키고 있는 상황입니다.

따라서 currentNode = currentNode.next를 하게되면 currentNode는 B를 가리키게됩니다.

이렇게되면 currentNode.next는 C를 가리키겠죠?

Hình ảnh hồ sơ của ldk29488114
ldk29488114

câu hỏi đã được viết

Đặt câu hỏi