해당 게시글의 소스 코드는 특정 언어가 아닌, 의사 코드(Pseudo Code)로 작성되었습니다.
1. 노드 삽입(마지막 부분)
Input: head, node_new(삽입할 노드)
if head == NULL:
① head -> node_new
else:
① node_c의 next -> node_new
② node_new의 prev -> node_c
③ tail -> node_new
2. 노드 삽입(중간 부분)
Input: node_a의 위치(삽입할 위치), node_new(삽입할 노드)
① node_new의 next -> node_a의 next
② node_new의 prev -> node_a
③ if node_a의 next != NULL:
node_a의 next의 prev -> node_new
④ node_a의 next -> node_new
3. 노드 삭제
Input: node_del(삭제할 노드)
※ 초기 Double Linked List
- node_del의 prev -> node_a
- node_del의 next -> node_b
① node_del의 prev(node_a)의 next -> node_b
② node_del의 next -> NULL
③ node_del의 next(node_b)의 prev -> node_a
④ node_del의 prev -> NULL
'Computer Science > 자료구조 & 알고리즘' 카테고리의 다른 글
[알고리즘 과제] 해싱(Hashing) (1) | 2022.10.03 |
---|---|
[알고리즘 과제] 퀵 정렬(Quick Sort) 알고리즘 (0) | 2022.10.03 |
[알고리즘 과제] 알고리즘 분석 방법 (0) | 2022.10.03 |
알고리즘 Term Project - 최소비용 신장 트리 (0) | 2022.08.03 |
[컴퓨터공학과] 자료구조 과제 정리 (0) | 2022.03.06 |