이증 원형 연결리스트에서 노드를 삽입&삭제하는 알고리즘
1
2
3
4
5
6
7
8
insertNode(DL, pre, x)
new <- getNode();
new.data <- x;
new.rlink <- pre.rlink;
pre.rlink <- new;
new.llink <- pre;
new.rlink.llink <- new;
end insertNode()
이중 연결 리스트에서의 삽입 알고리즘
new.rlink ← pre.rlink: 노드pre의rlink값을 노드new의rlink에 저장한다. 즉, 노드pre의 오른쪽 노드(pre다음 노드의llink)를 삽입할 노드new의 오른쪽 노드로 연결한다.pre.rlink ← new: 새 노드new의 참조값을 노드pre의rlink에 저장한다. 즉, 노드new를 노드pre의 오른쪽 노드로 연결한다.new.llink ← pre: 참조변수 pre의 값을 삽입할 노드 new의 llink에 저장한다. 즉, 노드pre를 노드new의 왼쪽 노드로 연결한다new.rlink.link ← new:new의 값을 노드new의 오른쪽 노드(new.rlink)의llink에 저장한다. 즉, 노드new의 오른쪽 노드의 왼쪽 노드로 노드new를 연결한다.