연결 리스트에서 삽입은 어느 위치에 노드를 삽입하느냐에 따라 다르다.
[중간 노드 삽입]
1. 삽입할 노드를 준비한다
2. 새 노드의 데이터 필드에 값을 저장한다.
3. 새 노드의 링크값을 지정한다. 이 때 링크값은 삽입할 위치 앞 노드의 링크값이 된다.
4. 삽입할 위치 앞 노드에 새 노드를 연결한다.
[첫번째 노드 삽입]
1. 삽입할 노드를 준비한다.
2. 새 노드의 데이터 필드에 값을 저장한다.
3. 새 노드의 링크값을 지정한다. 이 때 링크값은 head가 가리키고 있는 노드의 주소값이 된다.
4. head에 새 노드를 연결한다.
[마지막 노드로 삽입]
1. 삽입할 노드를 준비한다.
2. 새 노드의 데이터 필드에 값을 저장한다.
3. 새 노드가 마지막 노드이므로 링크값으로 NULL을 지정한다.
4. 현재 마지막 노드를 찾은 후 새 노드를 연결한다.
[정리]
중간 노드 삽입은 이미 있는 노드들 사이에 새로운 노드를 추가하는 것이며, 이를 위해 앞 노드의 링크값을 활용하여 새 노드를 연결한다.
첫 번째 노드 삽입은 기존의 첫 번째 노드 앞에 새 노드를 추가하고, 이를 위해 리스트의 시작인 head 값을 업데이트하여 새 노드를 가리키게 한다.
마지막 노드로 삽입은 리스트의 끝에 새 노드를 추가하며, 현재 리스트의 마지막 노드를 찾아 그 뒤에 새 노드를 연결한다.
반응형
'Computer Science' 카테고리의 다른 글
[자료구조] Doubly Linked List의 삽입(중간노드, 첫번째 노드, 마지막노드로 삽입) (0) | 2024.02.01 |
---|---|
[자료구조] Linked List- 삭제 (0) | 2024.01.31 |
[자료구조] Linked Lists- Search (0) | 2024.01.29 |
[자료구조] Linked List - 삽입, 삭제 개념 (1) | 2024.01.28 |
[자료구조] 재귀함수 - 하노이탑에서의 반복 패턴과 문제 해결법 (0) | 2024.01.27 |