강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

ldk29488114 のプロフィール画像
ldk29488114

投稿した質問数

図で簡単に学ぶデータ構造とアルゴリズム(基本編)

連結リスト - 実装

연결리스트 관련 질문

解決済みの質問

作成

·

428

·

編集済み

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

回答 2

0

ldk29488114님의 프로필 이미지
ldk29488114
質問者

빠른 답변 감사합니다. 👍

그럼 index가 3이면

index = 0 이면 currentNode = 1

index = 1 이면 currentNode = 2

index = 2 이면 currentNode = 3

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

gamja5님의 프로필 이미지
gamja5
インストラクター

아닙니다.

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
質問者

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

이해했습니다!

감사합니다.

0

gamja5님의 프로필 이미지
gamja5
インストラクター

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

A - B - C

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

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

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

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

ldk29488114 のプロフィール画像
ldk29488114

投稿した質問数

質問する