gugigugi92 2023. 3. 28. 02:39

 

     데이터를 일시적으로 쌓아 놓는 자료구조
     편의점 음료수 냉장고 같은것.
     먼저 들어간 것이 먼저 나오게 된다

     
     입력을  Enqueue 출력을 Dequeue라고 한며

     맨 앞을 front(출구) 맨 뒤를 rear(입구)라고 한다

     

 

큐의 구조


enqueue() 
데이터를 추가해주는 함수(가장 뒤쪽에 추가가 된다)

dequeue()
데이터를 뽑아내는 함수(가장 앞쪽에 데이터가 삭제된다)

peek()
꺼낼 요소를 엿보는 함수(가장 앞쪽의 데이터를 확인한다)

clear()
모든 요소를 삭제 시켜주는 함수

파이썬에 구현되어있는 기본 라이브러리 큐

from queue import Queue
Q = Queue() #큐  생성
Q.put(3) #큐  1을 enqueue
Q.put(4) #큐  2를 enqueue
x = Q.get() #dequeue해서 x에 대입

print(x) #빠진 값 확인

 

양방향 큐

from collections import deque
dq = deque(["안녕", "하세요", "반가워요"]) #값이 양방향 큐 생성
dq.append("잘있어요") #dq의 오른쪽에 enqueue
x = dq.pop() #dq의 오른쪽 값을 dequeue해서 x에 대입
dq.appendleft("다시만나요") #dq의 왼쪽에 0을 enqueue
y = dq.popleft() #dq의 왼쪽 값을 dequeue해서 y에 대입

print(x, y) # 빠진 값 확인

 

 

 

원형 큐