Å¥ÀÇ Á¤ÀÇ

"Å¥"´Â ¿©·¯ °³ÀÇ µ¥ÀÌŸ Ç׸ñµéÀÌ ÀÏÁ¤ÇÑ ¼ø¼­·Î ³ª¿­µÈ ÀÚ·á ±¸Á¶ÀÌ´Ù. ½ºÅðú´Â ´Þ¸® ÇÑÂÊ ³¡¿¡¼­´Â »ðÀÔ¸¸ ÇÒ ¼ö ÀÖ°í, »èÁ¦´Â ¹Ý´ëÂÊ ³¡¿¡¼­¸¸ ÇÒ ¼ö ÀÖµµ·Ï µÇ¾î ÀÖ´Ù.


Å¥ÀÇ ¿ø¸®

Å¥´Â ¸ÅÇ¥¼Ò¿¡¼­ Ç¥¸¦ »ç±â À§ÇØ ±â´Ù¸®´Â ´ë±âÀÚ ¿­°ú °°Àº ¿ø¸®¸¦ °¡Áø´Ù. ´ë±âÀÚ ¿­¿¡´Â ¸ÕÀú ¿Â »ç¶÷ºÎÅÍ Â÷·Ê·Î ´ë±âÀÚµéÀÌ ´Ã¾î¼­ ÀÖ´Ù. ¾ÕÂÊ ³¡¿¡¼­´Â ±â´Ù¸®´ø »ç¶÷ÀÌ Ç¥¸¦ »ç¼­ ºüÁ®³ª°¡°í (»èÁ¦), µÚÂÊ ³¡¿¡¼­´Â »õ·Î¿î »ç¶÷µéÀÌ ´ë±âÀÚ ¿­·Î µé¾î¿Â´Ù(»ðÀÔ).


Å¥ÀÇ ¼ºÁú

Å¥¿¡ ÀúÀåµÈ µ¥ÀÌŸ Ç׸ñµé Áß¿¡ ¸ÕÀú »ðÀÔµÈ °ÍÀº ¸ÕÀú »èÁ¦µÇ°í, ³ªÁß¿¡ »ðÀÔµÈ °ÍÀº ³ªÁß¿¡ »èÁ¦µÈ´Ù. ±×·¡¼­ Å¥¸¦ ¼±ÀÔ ¼±Ãâ ¸®½ºÆ® (First-In-First-Out:FIFO) ¶ó ºÎ¸¥´Ù. ÈÄÀÔ ¼±Ãâ¹ýÀ» »ç¿ëÇÏ´Â ½ºÅà °ú´Â »ó¹ÝµÈ ¼ºÁúÀ» °¡Áø´Ù.


Å¥ÀÇ Á¾·ù

¼±Çü Å¥(linear queue)
ȯÇü Å¥(circular queue)

Å¥¿¡´Â ÇÑ ¹æÇâÀ¸·Î µ¥ÀÌŸ Ç׸ñµéÀÌ »ðÀÔ/»èÁ¦µÇ´Â ¼±Çü Å¥¿Í ½ÃÀÛÁ¡°ú ³¡Á¡ÀÌ ¼­·Î ¿¬°áµÇ¾î Àִ ȯÇü Å¥°¡ ÀÖ´Ù.


¼±Çü Å¥

¼±Çü Å¥ÀÇ ±¸Á¶

Å¥´Â ¿©·¯ °³ÀÇ µ¥ÀÌŸ Ç׸ñµéÀÌ ÇÏÇѺÎÅÍ Â÷·Ê·Î ÀúÀåµÇ´Â ¸ð¾çÀ» °¡Áø´Ù. »õ·Î¿î µ¥ÀÌŸ Ç׸ñÀÇ »ðÀÔÀº rear¿¡¼­ ÀϾ°í, ÀÌ À§Ä¡´Â rear Æ÷ÀÎÅͶó´Â Áö½ÃÀÚ°¡ °¡¸®Å²´Ù. µ¥ÀÌŸ Ç׸ñÀÇ »èÁ¦´Â front¿¡¼­ ÀϾ¸ç, ÀÌ À§Ä¡´Â front Æ÷ÀÎÅͶó´Â Áö½ÃÀÚ°¡ °¡¸®Å²´Ù.

front Æ÷ÀÎÅÍ¿Í rear Æ÷ÀÎÅÍ´Â Ãʱ⿡ ÇÏÇÑ¿¡¼­ ½ÃÀÛÇÏ¿© »ðÀÔ°ú »èÁ¦°¡ ¹Ýº¹µÊ¿¡ µû¶ó »óÇÑÂÊÀ¸·Î À̵¿ÇÑ´Ù.

¼±Çü Å¥ÀÇ µ¿ÀÛ

¼±Çü Å¥¿¡ µ¥ÀÌŸ Ç׸ñ »ðÀÔ

µ¥ÀÌŸ Ç׸ñÀ» »ðÀÔÇÏ·Á¸é Å¥ÀÇ rear Æ÷ÀÎÅ͸¦ Çϳª¸¸Å­ Áõ°¡½ÃÄÑ ÁÖ°í ±× À§Ä¡¿¡ µ¥ÀÌŸ Ç׸ñÀ» ÀúÀåÇÑ´Ù.

<»ðÀÔÀü>

<»ðÀÔÈÄ>

½ÇÁ¦ Å¥´Â ¿ë·®ÀÌ Á¦ÇѵǾî ÀÖÀ¸¹Ç·Î µ¥ÀÌŸ Ç׸ñÀ» »ðÀÔÇϱâ Àü¿¡ ¿©À¯ °ø°£ÀÌ ÀÖ´ÂÁö °Ë»çÇØ¾ß ÇÑ´Ù.

¼±Çü Å¥¿¡¼­ full °Ë»ç

»ðÀÔÀÌ °è¼ÓµÇ¾î rear Æ÷ÀÎÅͰ¡ »óÇÑ¿¡ µµ´ÞÇÏ¸é ´õÀÌ»ó »ðÀÔÀÌ ºÒ°¡´ÉÇÑ »óŰ¡ µÈ´Ù.

±×·±µ¥ ´ÙÀ½°ú °°Àº °æ¿ì´Â Å¥¿¡ µ¥ÀÌŸ Ç׸ñÀ» »ðÀÔÇÒ °ø°£ÀÌ ÀÖÀ½¿¡µµ ºÒ±¸Çϰí, rear Æ÷ÀÎÅͰ¡ »óÇÑ¿¡ µµ´ÞÇ߱⠶§¹®¿¡ Å¥°¡ °¡µæÂù °ÍÀ¸·Î µÈ´Ù.

ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ È¯Çü Å¥¸¦ ÀÌ¿ëÇÑ´Ù.

¼±Çü Å¥¿¡¼­ µ¥ÀÌŸ Ç׸ñ »èÁ¦

µ¥ÀÌŸ Ç׸ñÀ» »èÁ¦ÇÏ·Á¸é Å¥ÀÇ front Æ÷ÀÎÅ͸¦ Çϳª¸¸Å­ Áõ°¡½ÃŰ°í ±× À§Ä¡¿¡ ÀÖ´Â µ¥ÀÌŸ Ç׸ñÀ» »èÁ¦ÇÑ´Ù.

<»èÁ¦Àü>

<»èÁ¦ÈÄ>

µ¥ÀÌŸ Ç׸ñÀ» »èÁ¦Çϱâ Àü¿¡ Å¥¿¡ »èÁ¦ÇÒ Ç׸ñÀÌ ³²¾ÆÀÖ´ÂÁö °Ë»çÇØ¾ß ÇÑ´Ù.

¼±Çü Å¥¿¡¼­ empty °Ë»ç

ÀúÀåµÈ µ¥ÀÌŸ Ç׸ñµéÀÇ ¾ÕÂÊ ³¡À» °¡¸®Å°´Â front Æ÷ÀÎÅÍ´Â µÚÂÊ ³¡À» °¡¸®Å°´Â rear Æ÷ÀÎÅͺ¸´Ù Å« °ªÀ» °¡Áú ¼ö ¾ø´Ù. ¸¸¾à front Æ÷ÀÎÅÍ¿Í rear Æ÷ÀÎÅͰ¡ °°Àº °ªÀ» °¡Áø´Ù¸é Å¥¿¡ ÀúÀåµÈ µ¥ÀÌŸ°¡ ¾ø´Ù´Â ¶æÀÌ´Ù.


ȯÇü Å¥

ȯÇü Å¥ÀÇ ±¸Á¶

ȯÇü Å¥´Â ¼±Çü Å¥ÀÇ ¹®Á¦Á¡À» º¸¿ÏÇϱâ À§ÇØ ¸¸µé¾îÁø ÀڷᱸÁ¶ÀÌ´Ù. »ðÀÔ°ú »èÁ¦ µ¿ÀÛÀº ¼±Çü Å¥¿Í °°Áö¸¸, Å¥ÀÇ »óÇѰú ÇÏÇÑÀÌ ¼­·Î ¿¬°áµÈ °í¸® ¸ð¾çÀ» Çϰí ÀÖ¾î, »ç½Ç»ó Å¥ÀÇ ÇѰ谡 ¾ø´Â °Í°ú °°´Ù.

¼±Çü Å¥¿¡¼­¿Í ¸¶Âù°¡Áö·Î »ðÀÔ À§Ä¡¸¦ °¡¸®Å°´Â rear Æ÷ÀÎÅÍ¿Í »èÁ¦ À§Ä¡¸¦ °¡¸®Å°´Â front Æ÷ÀÎÅͰ¡ ÀÖ´Ù. µÎ°³ÀÇ Æ÷ÀÎÅÍ´Â Ãʱ⿡ ½ÃÀÛÁ¡¿¡¼­ Ãâ¹ßÇÏ¿© »ðÀÔ°ú »èÁ¦°¡ ÀϾ¿¡ µû¶ó ±× °ªÀÌ Çϳª¾¿ Áõ°¡ÇÏ¿© ½Ã°è ¹æÇâÀ¸·Î À̵¿ÇÑ´Ù. Æ÷ÀÎÅͰ¡ Å¥ÀÇ ³¡Á¡¿¡ ÀÖÀ» ¶§ »ðÀÔÀ̳ª »èÁ¦°¡ ÀϾ¸é Æ÷ÀÎÅͰ¡ reset µÇ¾î ´Ù½Ã ½ÃÀÛÁ¡À» °¡¸®Å²´Ù.

ȯÇü Å¥ÀÇ µ¿ÀÛ

ȯÇü Å¥¿¡ µ¥ÀÌŸ Ç׸ñ »ðÀÔ

µ¥ÀÌŸ Ç׸ñÀ» »ðÀÔÇÏ·Á¸é Å¥ÀÇ rear Æ÷ÀÎÅ͸¦ Çϳª¸¸Å­ Áõ°¡½ÃÄÑ ÁÖ°í ±× ÀÚ¸®¿¡ µ¥ÀÌŸ Ç׸ñÀ» ÀúÀåÇÑ´Ù. ¸¸¾à rear Æ÷ÀÎÅͰ¡ ³¡Á¡À» °¡¸®Å°°í ÀÖÀ¸¸é reset ½ÃÄÑ ÁØ´Ù.

µ¥ÀÌŸ »ðÀԽÿ¡ Å¥ÀÇ ¿ë·®À» ÃʰúÇÏ¿© »ðÀÔÇÒ ¼ö ¾øÀ¸¹Ç·Î »ðÀÔ Àü¿¡ Å¥°¡ °¡µæÂ÷ ÀÖ´ÂÁö °Ë»çÇØ¾ß ÇÑ´Ù.

ȯÇü Å¥¿¡¼­ full °Ë»ç

ȯÇü Å¥¸¦ ÀÌ¿ëÇϸé rear Æ÷ÀÎÅͰ¡ »óÇÑ¿¡ µµ´ÞÇÏ¿© »ðÀÔÀÌ ÁߴܵǴ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö´Â ÀÖÁö¸¸ Å¥ÀÇ ¿ë·®À» ÃʰúÇÏ¿© µ¥ÀÌŸ Ç׸ñÀ» »ðÀÔÇÒ ¼ö´Â ¾ø´Ù. ´ÙÀ½ ±×¸²¿¡¼­Ã³·³ front Æ÷ÀÎÅÍ¿Í rear Æ÷ÀÎÅͰ¡ °°Àº °÷À» °¡¸®Å°¸é Å¥°¡ °¡µæÂù °ÍÀÌ´Ù.

ÀÌ·¸°Ô µÇ¸é Å¥°¡ °¡µæÂù °æ¿ì¿Í Å¥°¡ ºñ¾î ÀÖ´Â °æ¿ì ¸ðµÎ front ¿Í rear Æ÷ÀÎÅͰ¡ °°¾ÆÁö¹Ç·Î µÎ °¡Áö °æ¿ì¸¦ ±¸º°ÇÏ´Â ¹æ¹ýÀÌ ÇÊ¿äÇÏ´Ù.

ȯÇü Å¥¿¡¼­ µ¥ÀÌŸ Ç׸ñ »èÁ¦

µ¥ÀÌŸ Ç׸ñÀ» »èÁ¦ÇÏ·Á¸é front Æ÷ÀÎÅ͸¦ Çϳª¸¸Å­ Áõ°¡½Ã۰í, ±× À§Ä¡¿¡ ÀÖ´Â µ¥ÀÌŸ Ç׸ñÀ» Á¦°ÅÇÑ´Ù. ¸¸¾à front Æ÷ÀÎÅͰ¡ ³¡Á¡À» °¡¸®Å°°í ÀÖÀ¸¸é reset ½ÃÄÑÁØ´Ù.

µ¥ÀÌŸ Ç׸ñÀ» »èÁ¦Çϱâ Àü¿¡ Å¥¿¡ ³²¾Æ ÀÖ´Â µ¥ÀÌŸ Ç׸ñÀÌ ÀÖ´ÂÁö °Ë»çÇØ¾ß ÇÑ´Ù.

ȯÇü Å¥¿¡¼­ empty °Ë»ç

´ÙÀ½ÀÇ ±×¸²Ã³·³ front Æ÷ÀÎÅÍ¿Í rear Æ÷ÀÎÅͰ¡ °°Àº °÷À» °¡¸®Å°¸é Å¥°¡ ºñ¾îÀÖ´Â °ÍÀÌ´Ù.

ÀÌ·¸°Ô µÇ¸é Å¥°¡ °¡µæÂù °æ¿ì¿Í ºñ¾î ÀÖ´Â °æ¿ì ¸ðµÎ front ¿Í rear Æ÷ÀÎÅͰ¡ °°¾ÆÁö¹Ç·Î µÎ °¡Áö °æ¿ì¸¦ ±¸º°ÇÏ´Â ¹æ¹ýÀÌ ÇÊ¿äÇÏ´Ù.

ȯÇü Å¥¿¡¼­ Å¥°¡ °¡µæÂù °æ¿ì¿Í Å¥°¡ ºñ¾îÀÖ´Â °æ¿ì¸¦ ±¸º°ÇÏ´Â ¹æ¹ý

ȯÇü Å¥¿¡¼­ front Æ÷ÀÎÅÍ¿Í rear Æ÷ÀÎÅͰ¡ °°Àº °æ¿ì¸¦ Å¥ full °ú Å¥ empty Á¶°ÇÀ¸·Î »ç¿ëÇÏ¸é µÎ °¡Áö °æ¿ì¸¦ ±¸º°ÇÒ ¼ö ¾ø´Ù. À̰ÍÀ» ±¸º°Çϱâ À§ÇØ ÇϳªÀÇ ¿©À¯ °ø°£À» µÎ°í ±× °ø°£Àº »ç¿ëÇÏÁö ¸øÇϵµ·Ï ÇÑ´Ù.


front pointer = rear pointer


front pointer = rear pointer+1