이번에는 이전 큐의 단점을 보완한 원형큐를 구현하되
일정 할당량을 넘게되면 계속해서 새로운 할당을 받아 계속 add할 수 있게
하는 큐를 구현해보았다.
원형큐는 front = rear 일때 완전히 비어있음을 의미하게 되고,
front = rear+1 이 되는 순간 꽉차있는 것을 의미한다.
front와 rear사이에는 하나의 공간이 비어있게되는데, 이는 큐가 비어있음과 꽉차있음을 구분하기 위해서이다.
원형큐를 사용하다보면 윗그림과 같은 경우가 발생한다. 이때, 큐를 동적할당으로 capacity를 늘려주고, front와 rear를 newQueue 를 사용해 다시한번 정리하게 된다.
코드를보면 다 똑같은데 COPY부분이 이해하기 어렵다.
단순히 front와 rear를 정리하는것인데, 배열 시작점과 끝점을 인자값으로 줘야해서 헷갈린다.
'Data Structure' 카테고리의 다른 글
요셉의문제(Circular Linked List) (0) | 2020.06.14 |
---|---|
연결리스트(Linked List) (0) | 2020.06.10 |
중위표기식, 후위표기식(Infix, Postfix) (0) | 2020.06.08 |
스택을 이용한 미로찾기 (0) | 2020.06.08 |
스택(Stack)과 큐 (0) | 2020.06.08 |