이중 연결 리스트를 활용하여 원형 이중 연결 리스트를 직접 구현해보았다.
이중 연결리스트의 구조에서 가장 처음과 마지막 노드가 서로 연결 되어있는 자료구조
# 원형 이중 링크드 리스트
class DCLinkedList:
# D_C_L_List에서 쓸 노드
class Node:
def __init__(self, v, n=None, p=None):
self.value = v # 저장된 데이터
self.next = n # 다음 노드 가리키는 변수
self.prev = p # 이전 노드 가리키는 변수
# D_C_L_List에서 필요한 변수
def __init__(self):
self.head = None # 첫 생성시 내부에는 노드가 없음
self.tail = None
##테스트
if __name__=="__main__":
dcl = DCLinkedList()
초기 구조는 이중 연결 리스트(doubly linked list)와 동일
삽입부분부터 달라짐
next | prev | head | tail |
---|---|---|---|
다음에 연결된 노드를 가리키는 변수 | 이전의 노드를 가리키는 변수 | 맨 처음 노드를 가리키는 변수 | 맨 마지막 노드를 가리키는 변수 |