-
원형 큐(Circular Queue) 제작프로그래밍 2013. 3. 30. 15:29반응형
큐는 데이터를 삽입할 때 뒤쪽인 tail 쪽에 삽입을 하고 읽을 땐 head부터 읽는 FIFO(First In First Out) 구조의 자료형이다.
이와 같은 구조의 큐를 선형 큐라고 한다. 선형 큐는 데이터를 삭제(pop)할 때마다 head가 뒤로 밀려 앞에 공간이 남아있음에도 불구하고 데이터를 삽입할 수 없는 문제가 발생한다.
[출처] 원형큐|작성자 since860321
이러한 큐의 단점을 개선한 것이 원형 큐이다.
이 가득찬 원형 배열의 데이터를 차례대로 읽은 후, 데이터를 삽입을 하려고 한다면 다시 1의 자리에부터 데이터가 채워지게 구현을 하면 될 것이다.
bool push( const T& data )
{
...
if( tail == 배열의 크기 )
{
tail = 배열의 처음;
}
...
}반응형'프로그래밍' 카테고리의 다른 글
CPU에 따른, 프로그램에서의 효율적 스레드의 수 (2) 2014.05.23 C# 표준 네이밍 규칙 (2) 2014.05.02 boost singleton_pool의 사용 (0) 2014.04.20 boost object_pool의 사용 (0) 2014.04.19 fopen할 때 파일 경로 설정에서 삽질... (0) 2013.04.01