반응형
파이썬 queue 모듈을 통해 쉽게 구현해보자.
큐는 선입선출 즉 가장 먼저 들어간 요소가 가장 먼저 삭제되는 자료구조다.
우선 queue 모듈의 사용법을 알아보자.
맨 아래에 전체 예제있다.
queue import
큐를 사용하려면 queue 모듈 임포트를 해주면된다.
import queue # 큐 모듈 임포트
Queue 객체 생성
큐 객체를 생성해주는 부분이다. Maxsize에는 큐 최대 사이즈를 적어준다.
q = queue.Queue(Maxsize)
큐 요소 삽입 함수
q.put(item)
큐 요소 꺼내는 함수
q.get()
큐가 비어있는지 확인하는 함수
q.empty()
큐가 가득찬 상태인지 확인 하는 함수
q.full()
파이썬 큐 구현 전체 코드
파이썬에 요소를 사입한 후 삭제하며 출력하는 코드다.
큐는 선입선출이니 삽입도 1 ~ 10, 삭제도 1 ~ 10 순서대로 진행되는 것을 확인 할 수 있다.
import queue
q = queue.Queue(maxsize=9) # 큐 객체 생성(Maxsize=9)
insert = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 삽입할 요소
real_insert = []
print("삽입 : ", insert)
for i in insert:
if not q.full(): # 큐에 공간이 전부 차 있지 않다면
q.put(i) # 큐에 요소 삽입
real_insert.append(i) #사입은 1 ~ 10 까지지만 max size가 9이니 9개만 사입
print("실제 삽입 ", real_insert) #실제로 삽입된 요소는 1 ~ 9 까지
print("삭제 : ", end='') # end=''적어주면 줄 바꿈 안함
while not q.empty(): # 큐에 요소가 비어있을 때까지 반복
print(q.get(), end=' ') # 요소 꺼내서 출력
결과
삽입 : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
실제 삽입 [1, 2, 3, 4, 5, 6, 7, 8, 9]
삭제 : 1 2 3 4 5 6 7 8 9
실제로 삽입한것은 1 ~ 10 까지 총 10개이나
maxsize를 9로 큐 객체를 생성해 줬으니 1 ~ 9 까지 요소만 삽입되고 삭제된다.
반응형
'Python' 카테고리의 다른 글
[Python] cpu 코어 개수 구하는 코드 (1) | 2024.09.21 |
---|---|
[Python] 파이썬 deque(데크, 덱) 사용법 구현 예제 (0) | 2024.05.13 |
[Python] 파이썬 문자열 거꾸로 뒤집기 출력 예제 (0) | 2024.05.09 |
[Python] 파이썬 모듈 사용안하고 스택(stack) 구현하기 예제 (0) | 2024.05.08 |
[Python] 파이썬 팩토리얼 구현 예제 (반복, 재귀(순환)) (0) | 2024.05.07 |