Linked List 단일/이중 연결 리스트 삽입·삭제 포인터 흐름 연결 리스트의 핵심은 값을 옮기는 것이 아니라 노드 사이 포인터를 잃지 않는 순서로 바꾸는 것이다.
단일next만 바꾸므로 이전 노드 확보가 중요
이중prev와 next를 같은 사건으로 맞춤
경계head, tail, null을 따로 검증
삽입·삭제 시 포인터 갱신표
Find Node 위치 확보삽입 또는 삭제할 지점의 앞뒤 노드를 먼저 잡아둔다.
Singly Insert 새 노드부터 연결새 노드의 next를 기존 다음 노드에 맞춘 뒤 이전 노드가 새 노드를 가리킨다.
Singly Delete 대상 건너뛰기이전 노드가 삭제 대상의 다음 노드를 가리키게 해 연결을 보존한다.
Doubly Insert 양방향 동시 검증새 노드의 prev와 next, 양쪽 이웃의 링크를 함께 맞춰 왕복 경로를 만든다.
Doubly Delete 앞뒤 직접 연결앞 노드와 뒤 노드를 서로 가리키게 한 뒤 대상 노드를 분리한다.
링크 갱신 해석 기존 링크를 먼저 덮어쓰면 남은 리스트 일부를 잃을 수 있다. 새 연결을 만든 뒤 오래된 연결을 끊는 순서가 안전하다.