큐의 기본 구조
-큐는 입력과 출력의 방향이 반대다.
-들어온 순서대로 처리가되는 선입선출(FIFO), 이와 반대되는 후입선출(LIFO) 방식의 대표적인 예는 스택(Stack)이 있다.
-큐(Queue)란 단어의 의미는 대기행령, 대기줄이다. 어떤 일을 순차적으로 처리하고자 할때 사용된다.
-큐에서 입력은 Put, 출력을 Get이라 편의상 부르겠다(입력을 Enqueue, 출력을 Dequeue라고 하기도 한다).
환형큐(원형큐)
-왚과 뒤가 원처럼 이어져 있는 큐 구조
-입력과 출력이 이어지며, Front와 Rear의 위치가 계속 변경되게 된다.
-선형큐의 문제점을 해결하기 위해, 나왔다고 한다.
-입력을 하면 Rear(뒷 부분)가 한칸 뒤로 밀린다.
-출력을 하면 Front(앞 부분)가 한칸 뒤로 밀린다.
-Rear는 빈공간을 가리킨다.
-최대 입력 가능한 데이터 수는, 최대 공간보다 한칸 적다(Rear가 빈공간을 하나 차지하니까!).
Max Data = Max Size - 1;
큐의 입력(Put, Enqueue)
큐의 출력(Get, Dequeue)
- 전체 코드
'자료구조' 카테고리의 다른 글
트리 순회 알고리즘#01 전위 순회(Preorder Traversal) (0) | 2017.01.23 |
---|---|
이진 트리(Binary Tree) (0) | 2017.01.23 |
스택(Stack) (0) | 2017.01.21 |
이중 링크드 리스트(Doubly Linked List) (1) | 2017.01.20 |
링크드 리스트(Linked List) (0) | 2017.01.20 |