Computer Science

[자료구조] Linked List - 삽입(중간 노드, 첫번째 노드,마지막 노드로 삽입)

imsunbow 2024. 1. 30. 01:32

연결 리스트에서 삽입은 어느 위치에 노드를 삽입하느냐에 따라 다르다.

 

[중간 노드 삽입]

 

1. 삽입할 노드를 준비한다

2. 새 노드의 데이터 필드에 값을 저장한다.

3. 새 노드의 링크값을 지정한다. 이 때 링크값은 삽입할 위치 앞 노드의 링크값이 된다.

4. 삽입할 위치 앞 노드에 새 노드를 연결한다.

 

[첫번째 노드 삽입]

1. 삽입할 노드를 준비한다.

2. 새 노드의 데이터 필드에 값을 저장한다.

3. 새 노드의 링크값을 지정한다. 이 때 링크값은 head가 가리키고 있는 노드의 주소값이 된다.

4. head에 새 노드를 연결한다.

 

[마지막 노드로 삽입]

1. 삽입할 노드를 준비한다.

2. 새 노드의 데이터 필드에 값을 저장한다.

3. 새 노드가 마지막 노드이므로 링크값으로 NULL을 지정한다.

4. 현재 마지막 노드를 찾은 후 새 노드를 연결한다.

 

[정리]

 

중간 노드 삽입은 이미 있는 노드들 사이에 새로운 노드를 추가하는 것이며, 이를 위해 앞 노드의 링크값을 활용하여 새 노드를 연결한다.

첫 번째 노드 삽입은 기존의 첫 번째 노드 앞에 새 노드를 추가하고, 이를 위해 리스트의 시작인 head 값을 업데이트하여 새 노드를 가리키게 한다.

마지막 노드로 삽입은 리스트의 끝에 새 노드를 추가하며, 현재 리스트의 마지막 노드를 찾아 그 뒤에 새 노드를 연결한다.

반응형