큐
버퍼, 프린트, 마구 입력된 것을 처리하고 있지 못하는 상황, BFS
메소드
class Queue:
def __init__(self):
self.items = []
def enqueue(self, item):
self.items.insert(0, item)
def dequeue(self):
self.items.pop()
def is_empty(self):
return self.items == []
def print_queue(self):
print(self.items)
def peek(self):
return self.items[0]
def size(self):
return len(self.items)
class Node:
def __init__(self, item):
self.data = item
self.next = None
class Queue:
def __init__(self):
self.head = None
self.tail = None
def is_empty(self):
return not self.head
def enqueue(self, item):
node_data = Node(item)
if self.is_empty():
self.head = node_data
self.tail = node_data
self.tail.next = node_data
self.tail = node_data
def dequeue(self):
if self.is_empty():
return
out_data = self.head.data
self.head = self.head.next
return out_data
def peek(self):
return self.head.data