컴퓨터 프로그래밍/자료구조
자료구조_링크드리스트_8_삽입연산추가
깝돌이
2020. 5. 19. 20:42
파라미터로 데이터 data를 받아서 링크드 리스트의 가장 앞에 데이터를 data로 갖는 새로운 노드를 추가시켜 주는 메소드를 작성합니다.
def prepend(self, data):
"""링크드 리스트의 가장 앞에 데이터 삽입"""
new_node = Node(data) # 새로운 노드를 만든다
# 링크드 리스트가 비었는지 확인
if self.head is None:
# 새 노드를 링크드 리스트의 유일한 노드로 만들어준다
self.head = new_node
self.tail = new_node
else:
new_node.next = self.head # 새로운 노드의 다음 노드를 head 노드로 정해주고
self.head = new_node # 리스트의 head_node를 새롭게 삽입한 노드로 정해준다
# 새로운 링크드 리스트 생성
linked_list = LinkedList()
# 여러 데이터를 링크드 리스트 앞에 추가
linked_list.prepend(11)
linked_list.prepend(7)
linked_list.prepend(5)
linked_list.prepend(3)
linked_list.prepend(2)
print(linked_list) # 링크드 리스트 출력
# head, tail 노드가 제대로 설정됐는지 확인
print(linked_list.head.data)
print(linked_list.tail.data)