문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 큐(자료구조) (문단 편집) === 파이썬 === [[Python]]의 리스트를 이용하면 쉽게 구현할 수 있다. {{{#!syntax python from typing import Any class Queue: def __init__(self, *args: Any): self.__items: list[Any] = list(args) self.__size: int = len(self.__items) def enqueue(self, item: Any): self.__items.append(item) self.__size += 1 def dequeue(self): if self.empty(): raise IndexError("dequeue from empty queue") item: Any = self.__items.pop(0) self.__size -= 1 return item def empty(self): return not self.__size def __str__(self): return f"{self.__items}" def __repr__(self): return f"{self.__items}" def __len__(self): return self.__size def __iter__(self): if self.empty(): return None for item in self.__items: yield item }}} 하지만 이렇게 힘든 일을 할 필요도 없는게, 파이썬 기본 라이브러리에 큐가 구현되어 있다. {{{#!syntax python from queue import Queue Q = Queue() #큐 Q 생성 Q.put(1) #큐 Q에 1을 enqueue Q.put(2) #큐 Q에 2를 enqueue x = Q.get() #Q에서 dequeue해서 x에 대입 print(x) #1 }}} 양방향 큐도 있다. {{{#!syntax python from collections import deque dq = deque([1, 2, 3]) #값이 (1, 2, 3)인 양방향 큐 생성 dq.append(4) #dq의 오른쪽에 4 enqueue x = dq.pop() #dq의 오른쪽 값을 dequeue해서 x에 대입 dq.appendleft(0) #dq의 왼쪽에 0을 enqueue y = dq.popleft() #dq의 왼쪽 값을 dequeue해서 y에 대입 print(x, y) #4 0 }}}저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기