더북(TheBook)

append( ) 함수의 구현: 데이터 삽입

append() 함수는 새로운 노드를 만든 다음 데이터를 저장하고 이 노드를 연결 리스트의 마지막에 추가합니다. 이때 두 가지 경우의 수가 발생합니다. 연결 리스트가 비어 있을 때와 데이터가 한 개 이상 있을 때입니다.

코드 12-4 data_structure_1/linked_list.py ④ (append() 함수)

    def append(self, data):
        # 삽입할 노드를 만든다
        new_node = Node(data)           #1
        # 첫 번째 경우
        # 리스트가 비어 있을 때
        if self.empty():                #2
            self.head = new_node
            self.tail = new_node
            self.d_size += 1
        # 데이터가 한 개 이상 있을 때

        else:                           #3
            self.tail.next = new_node   #4
            self.tail = new_node        #5
            self.d_size += 1


저장하려는 데이터를 가진 새로운 노드를 생성한 다음(#1) 연결 리스트가 비어 있다면 headtail이 새 노드를 가리키게 합니다(#2). 이때 d_size 값도 1 증가시켜야 한다는 걸 잊어서는 안 됩니다. 데이터가 있는 경우 (#3)에는 새 노드를 tail이 가리키는 노드에 이어줍니다(#4). 그리고 tail을 새 노드로 옮깁니다(#5).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.