본문 바로가기

자료구조

Queue(원형 큐 : Circular Queue)

이전 선형 큐 글에서 "선형큐를 Array 로 구현했을때, 상당히 비효율적이다" 라고 이야기 했었다.

원형 큐는 큐를 Array로 구현하되 Array로 구현했을때 일어나는 단점을 보완한 자료구조이다. 

 

frontrear 의 index 모두가 같은 인덱스를 가리키고 있다면, 해당 Circular Queue 는 비어있는 것이다.


데이터를 넣을 때 rear 인덱스 이동

데이터를 추가할 경우

1. front 는 정지해 있고,

2. rear 만 1칸씩 움직이면서, 데이터를 추가한다.(Enqueue)

 

데이터를 뺄때 front 인덱스 이동

 

데이터를 삭제할 경우

1. rear는 정지해 있고

2. front 는 1칸씩 이동하면서, 데이터를 추출한다.(Dequeue)

 


원형 큐(Circular Queue) 는 꽉 채울때 무조건 1칸을 비운다.

그래서 만약 9칸을 풀로채우는 Queue 라면 10개 사이즈의 Array 를 생성해야 한다.

 

 

'자료구조' 카테고리의 다른 글

Hash  (0) 2022.12.11
Queue(선형 큐)  (0) 2022.12.11
Stack  (0) 2022.12.11
Double LinkedList  (0) 2022.12.11
Single LinkedList  (0) 2022.12.10