티스토리 뷰

python lecture/basic

[edu] 큐 (리스트, 클래스)

burningrizen 2019. 1. 22. 09:47

- append, del, remove pop 사용하지 않고 구현


- enqueue : 리턴값이 없고 매개변수는 정수하나만 받는다.


- dequeue: 매개변수는 없고 리턴값은 큐안에 가장 먼저 들어온 값을 리턴


- 큐의 사이즈는 10개로 한정



































class Queue:
def __init__(self, size):
self.size = size
self.data = [0] * self.size
self.idx = 0

def is_contain(self):
return bool(self.idx)

def enqueue(self, n):
if self.idx < self.size:
self.data[self.idx] = n
self.idx += 1

def dequeue(self):
if self.is_contain():
ret = self.data[0]
self.data = self.data[1:] + [0]
self.idx -= 1
return ret


q = Queue(10)
for i in range(10):
q.enqueue(i)
while q.is_contain():
print(q.dequeue())


댓글