자료구조와 알고리즘
자료구조 링크드 리스트(Linked List)3
전설의개발자
2020. 10. 22. 14:16
특정 노드를 삭제
1. head 삭제
2. 마지막 노드 삭제
3. 중간 노드 삭제
class Node:
def __init__(self, data):
self.data = data
self.next = None
class NodeMgmt:
del __init__(self, data):
self.head = Node(data)
def add(self, data):
if self.head == '':
self.head = Node(data)
else:
node = self.head
while node.next:
node = node.next
node.next = Node(data)
def desc(self):
node = self.head
while node:
print (node.data)
node = node.next
def delete(self, data):
if self.head == '':
print('해당 값을 가진 노드가 없습니다.')
return
if self.head.data == data:
temp = self.head
self.head = self.head.next
del temp
else:
node = self.head
while node.next:
if node.next.data == data:
temp = node.next
node.next = node.next.next
del temp
pass
else:
node = node.next