이전 선형 큐 글에서 "선형큐를 Array 로 구현했을때, 상당히 비효율적이다" 라고 이야기 했었다.
원형 큐는 큐를 Array로 구현하되 Array로 구현했을때 일어나는 단점을 보완한 자료구조이다.
front 와 rear 의 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 |