파일 목록
# week05_02_chap04_06.py
class Node:
def __init__(self):
self.data = None
self.link = None
def print_nodes(start):
current = start
if current is None: # 출력할 노드가 없으면
return
print(current.data, end=' ')
while current.link is not None:
current = current.link # 가르키는 대상 변경(증가)
print(current.data, end=' ')
print()
def insert_node(find_data, insert_data):
global head, current, pre
if head.data == find_data:
node = Node()
node.data = insert_data
node.link = head
head = node
return
current = head
while current.link is not None:
pre = current
current = current.link
if current.data == find_data:
node = Node()
node.data = insert_data
node.link = current
pre.link = node
return
node = Node()
node.data = insert_data
current.link = node
head, current, pre = None, None, None
data_array = ["다현", "정연", "쯔위", "사나", "지효"]
if __name__ == "__main__":
node = Node()
node.data = data_array[0]
head = node
for i in range(1, len(data_array)):
#for data in data_array[1:]:
pre = node
node = Node()
node.data = data_array[i]
#node.data = data
pre.link = node
print_nodes(head)
insert_node("다현", "화사")
print_nodes(head)
insert_node("사나", "솔라")
print_nodes(head)
insert_node("이나", "문별")
print_nodes(head)