파이썬 알고리즘 - 큐(Queue)


안녕하세요 jay입니다.
오늘은 Queue에 대해서 알아보도록 하겠습니다.
(node 구성은 하지 않겠습니다.)


1. Queue(큐) 란?

First In First Out(FIFO), 즉 선입선출 구조를 가지는 자료구조입니다.


영희, 철수, 민수, 희수, 지영순으로 차례로 항목들이 큐안에 들어옵니다.
이때 큐에 있는 항목을 제거했을 때, 1번으로 들어온 영희가 제거됩니다.

2. Queue의 주요 기능

1. enQueue : 큐에 항목을 넣는 기능
2. deQueue : 큐에서 항목을 꺼내는 기능


3. Queue 파이썬 코드

class Queue:
    
    def __init__(self):
        self.queue_items = []
        
    def enQueue(self,item):
        self.queue_items.append(item)
        
    def deQueue(self):
        total_len = len(self.queue_items)
        
        if(total_len < 1):
            print("Queue is empty!")
            return False
            
        else :
            result = self.queue_items[0]
            del self.queue_items[0]
            return result
        
    def isEmpty(self):
        return not self.queue_items
    
    
    def printQueue(self):
        print(self.queue_items)
        
        
que = Queue()

print(que.isEmpty())
que.enQueue(1)
que.enQueue(3)
que.enQueue(5)
que.enQueue(7)
que.printQueue()
print(que.deQueue())
print(que.deQueue())
que.printQueue()
print(que.isEmpty())       


댓글