Introfor

[data_structure] Queue 본문

Doing/Python

[data_structure] Queue

YongArtist 2020. 7. 21. 13:21

Queue는 스택과 달리 한 쪽에서 들어가서 다른 한 쪽으로 나오는 구조로 파이프을 연상하면 쉽게 이해할 수 있다. 일직선으로 양쪽이 뚫린 파이프 모형에 어떤 물체를 넣는다면 처음에 넣어던 물체가 제일 처음 나오는 구조인 것을 알 수 있다. 이것을 FIFO(First In First Out)이라고 한다.

class Queue:
	
	def __init__(self):
		self.items = []
		self.max = 5

	def add(self, item):
		if len(self.items) < self.max:
			self.items.append(item)
		else:
			print('no space')
	
	def remove(self):
		if len(self.items) > 0:
			self.items.pop(0)
		else:
			print('no item')

	def peek(self):
		print(self.items[0])

	
	def print_queue(self):
		print(self.items)


queue = Queue()
queue.add(1)
queue.add(2)
queue.add(3)
queue.print_queue()
queue.remove()
queue.print_queue()
queue.peek()

 

'Doing > Python' 카테고리의 다른 글

파이썬 자료형에 따른 주요 연산자의 시간 복잡도  (0) 2020.09.11
[Algorithm] Recursion  (0) 2020.07.23
[Algoritm] Stack  (0) 2020.07.20
numpy 기초  (0) 2020.07.13
문자열 앞 0으로 채우기  (0) 2020.07.05
Comments