아래는 링크드리스트의 append와 delete를 파이썬으로 구현한 코드입니다.
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = Node(None)
def append(self, data):
if self.head is None:
self.head = Node(data)
return
node = self.head
while node.next is not None:
node = node.next
node.next = Node(data)
def delete(self, data):
node = self.head
while node.next is not None:
if node.next.data == data:
node.next = node.next.next
break
node = node.next
def retrieve(self):
node = self.head
while node.next is not None:
print(str(node.data), end=" ")
node = node.next
print(node.data)
ll = LinkedList()
ll.append(1)
ll.append(2)
ll.append(3)
ll.append(4)
ll.retrieve()
ll.delete(2)
ll.delete(3)
ll.retrieve()
실행해보시면 결과는 아래와 같습니다.
$ python linkedlist.py
None 1 2 3 4
None 1 4