■ 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) 연결 리스트가 비어 있다면 head와 tail이 새 노드를 가리키게 합니다(#2). 이때 d_size 값도 1 증가시켜야 한다는 걸 잊어서는 안 됩니다. 데이터가 있는 경우 (#3)에는 새 노드를 tail이 가리키는 노드에 이어줍니다(#4). 그리고 tail을 새 노드로 옮깁니다(#5).