Data structure - Linked List & Array List #2

Duboo·2023년 9월 6일
0

중간에 추가

이번에는 중간 3번째 자리에 90을 추가해 보겠습니다.

3번째 자리는 붉은 화살표가 표시된 부분
즉, 6과 23 사이에 90을 위치시키는 것이 목표입니다.

우선 3번째 자리를 찾아야합니다.

head를 참조해서 첫번째 노드를 찾았습니다.

Vertex temp1 = head

23의 자리에 새로운 노드를 위치시키기 위해서는 6을 알고 있어야 합니다.

6의 next로 새로운 노드를 지정해야 하기 때문이죠. 아래는 6을 temp1으로 지정하기 위한 반복문입니다.

//현재 k의 값은 2
while (--k!=0)
  temp1 = temp1.next


6의 next를 이용해서 23을 찾아서 temp2로 지정합니다.

Vertex temp2 = temp1.next

값이 90인 새로운 노드를 생성합니다.

Vertex newVertex = new Vertex(input)


6의 다음 노드로 새로운 노드를 지정합니다.

temp1.next = newVertex

새로운 노드의 다음 노드로 23번을 지정합니다.

newVertex.next = temp2


이렇게 해서 90을 3번째 자리에 위치시켰습니다.

아래는 위 코드의 전체 코드입니다.

//중간에 추가
Vertex temp1 = head
while (--k!=0)
  temp1 = temp1.next
Vertex temp2 = temp1.next
Vertex newVertex = new Vertex(input)
temp1.next = newVertex
newVertex.next = temp2

v

profile
둡둡

0개의 댓글