Computer Science/자료구조 & 알고리즘
[알고리즘 과제] 연결 리스트 삽입 및 삭제
2sjin
2022. 10. 3. 15:54
해당 게시글의 소스 코드는 특정 언어가 아닌, 의사 코드(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