반원 블로그

02b. 단일 연결 리스트(singly linked list) - i. 구조 본문

2018~/파이썬 자료구조 알고리즘

02b. 단일 연결 리스트(singly linked list) - i. 구조

반원_SemiCircle 2019. 4. 27. 03:40

기본구조

따로 떨어져있으니 다음에 연결된 노드를 가리켜줄 변수가 필요합니다. 대게 이를 next라는 변수로 이름 짓습니다.

맨 처음 노드를 가리킬 녀석이 필요하므로 단일 연결 리스트에는 head라는 변수를 두어 처음 노드가 어디있는 지 저장합니다.

코드 구현

위에 설명한 구조만 가지고 노드와 리스트 클래스를 구현해봅시다.
변수 은닉화(앞에 __붙이는 것)하면 구현하는 코드가 길어지니 생략하겠습니다.

#단일 링크드 리스트
class SLinkedList:

    #S_L_list에서 쓸 노드
    class Node:
        def __init__(self, v, n = None):
            self.value = v #저장된 데이터
            self.next = n #다음 노드 가리키는 변수

    #S_L_List에서 필요한 변수
    def __init__(self):
        self.head = None #첫 생성시 내부에는 노드가 없으므로


##테스트
if __name__=="__main__":
    sl = SLinkedList()

 

위키독스 연재 : https://wikidocs.net/book/2868

Comments