본문 바로가기
개발 및 운영/프로그래밍

C++ FIFO (Queue) 구현

by Joseph.Lee 2015. 7. 31.

자주 쓸일이 있는데 그때마다 구현하게 되네요;; 

그래서 올립니다~ 저두보고, 여러분도 보고~ㅎ



사용법은 딱 봐도 아시..겠죠?ㅎ

테스트 소스로 Thread에서는 데이터를 빼고(출력)

엔터를 치면 데이터를 추가합니다.

FIFOisEmpty 는 큐가 비었는지

FIFOisFull는 큐가 모두 찼는지 확인합니다.

데이터를 추가할때는 FIFOLast위치에 데이터를 저장하고

FIFOLast을 +1 합니다. (%Size)으로 초과하면 0으로 갑니다.

데이터를 뺄때는 비슷한 방법으로 FIFOFirst을 +1합니다.



> FIFO.exe

ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` 
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` 
ABCDEFGHIJKLMNOP 
QRSTUVWXYZ[\]^_ 
BufferIsFull! 
`ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ 
ABCDEFGHIJKLMNOP 
QRSTUVWXYZ[\]^_` 
BufferIsFull! 
ABCDEFGHIJKLMNOP 
BufferIsFull! 
QRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ABCDEFGHIJKLMNOP 


반응형

댓글