원형 이중 연결 리스트(Circular doubly linked list)_구조

김지수·2021년 4월 19일
0

Data Structure

목록 보기
11/15
post-thumbnail

이중 연결 리스트를 활용하여 원형 이중 연결 리스트를 직접 구현해보았다.

원형 이중 연결 리스트(Circular doubly linked list)

이중 연결리스트의 구조에서 가장 처음과 마지막 노드가 서로 연결 되어있는 자료구조


코드

# 원형 이중 링크드 리스트
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)와 동일
삽입부분부터 달라짐

nextprevheadtail
다음에 연결된 노드를 가리키는 변수이전의 노드를 가리키는 변수맨 처음 노드를 가리키는 변수맨 마지막 노드를 가리키는 변수
profile
A Data human as a Learner, a Supporter, and a Listener

0개의 댓글