class Node:
def __init__(self, data):
self.data = data
self.next = None
class Queue:
def __init__(self):
self.head = None
self.tail = None
def enqueue(self, value):
if self.is_empty():
return None
new_node = Node(value)
self.tail.next = new_node
self.tail = new_node
return new_node
def dequeue(self):
if self.is_empty():
return None
delete_node = self.head
self.head = self.head.next
return delete_node
def peek(self):
if self.is_empty():
return None
return self.head
def is_empty(self):
# 어떻게 하면 될까요?
return self.head is None
self.tail을 추가했다. 없어도 구현은 가능하다.
현 tail의 다음 값으로 new_node를 추가하고 self.tail을 새로 설정하면된다.