본문 바로가기

개발 이야기/기타

[자료구조]큐(Queue)는 무엇일까

 

학교를 다니면서 수없이 많이 들어오고 배웠던 큐와 스택, 

큐와 스택이 머냐고 물어보면 항상 후입 선출과 선입선출이라고 답했던 기억이 난다.

 


 

큐(Queue)는 한쪽만 뚫려 있는 스택과 달리 양쪽이 뚫려 있는 원형의 통이라고 생각하면 쉽다.

앞뒤가 뚫려 있고 한쪽 방향으로만 자료가 삽입되고 다른 한쪽 방향으로만 자료를 출력한다.

따라서 먼저 들어간 자료가 먼저 나오게 되는 구조이므로  FIFO(First In First Out)(선입선출)이라고 불린다.

큐는 접근이 제한된 자료구조이며 행위적 측면을 부여받은 추상적 자료형이기 때문에 큐를 조작하는 방법은 두 가지로 나뉜다.

 

큐를 조작 하는 방법은 put 동작과 get 동작이 있다.

큐에 자료를 넣을때는 뒤(rear)에 put 동작으로 넣고

자료를 꺼낼때는 앞(front)에서 get 동작으로 얻어내게 된다.