2015-02-15 21:32:52
|
Á¶È¸¼ö : 1,451
|
ÀÚ·á ±¸Á¶¸¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¥ ÀÛ¼º |
|
¹éµµ¿ø | õ¾È¼ºÁ¤ÁßÇб³ 3Çгâ |
|
ÇÁ·Î±×·¡¹ÖÀ» ÅëÇØ ¹®Á¦¸¦ ÇØ°áÇÒ ¶§¿¡´Â, for¹®, while¹® µîÀÇ ±âº»ÀûÀÎ ÇÔ¼öµé¸¸À» ÀÌ¿ëÇØ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§µµ ÀÖ°í, µ¿Àû °èȹ¹ý µîÀÇ ¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇØ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§µµ ÀÖ´Ù. ±âº»ÀûÀÎ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§¿¡´Â ÁÖ·Î ¹è¿À» ÀÌ¿ëÇÏÁö¸¸, ¹è¿ ÀÌ¿ÜÀÇ ´Ù¸¥ ÀÚ·á ±¸Á¶¸¦ »ç¿ëÇÏ¸é ´õ ½±°Ô ÇØ°áÇÒ ¼ö ÀÖ´Â ¹®Á¦µéµµ ÀÖ´Ù. ÀÌ ±Û¿¡¼´Â, ¿©·¯ °¡Áö ÀÚ·á ±¸Á¶ÀÇ Á¾·ù¿Í ÀÌ·± ÀÚ·á ±¸Á¶µéÀ» ÀÌ¿ëÇØ ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ³íÀÇÇØ º¸°Ú´Ù.
¸ÕÀú, ¸®½ºÆ®°¡ ÀÖ´Ù. ¸®½ºÆ®¿¡´Â ù ¹ø° ¼ö¿¡ ÇØ´çÇÏ´Â Head °ªÀÌ ÀÖ°í, ¸®½ºÆ®¸¦ ±¸¼ºÇÏ´Â °¢°¢ÀÇ ¼ö¿¡´Â ±× ¼öÀÇ °ª°ú ´ÙÀ½ ¼ö¸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍ°¡ ÀúÀåµÇ¾î ÀÖ´Ù. µû¶ó¼, ±¸Á¶Ã¼¸¦ ÀÌ¿ëÇÏ¿© ±¸ÇöÇÏ´Â °ÍÀÌ Æí¸®ÇÏ´Ù. ¿¹¸¦ µé¾î, Next°¡ ´ÙÀ½ ¼ö¸¦ °¡¸®Å°´Â Æ÷ÀÎÅͶó°í ÇÏ°í, ù ¹ø° ¼ö¸¦ ³ªÅ¸³»´Â º¯¼ö¸¦ Head¶ó°í Çϸé, Head->Next´Â µÎ ¹ø° ¼ö¸¦ ³ªÅ¸³½´Ù. ±×·¯¸é, ¸®½ºÆ®¿Í ¹è¿(¹è¿ÀÇ À̸§À» a¶ó ÇÏÀÚ.)¿¡ °¢°¢ ¼öµéÀÌ ÀúÀåµÇ¾î ÀÖ°í, 10¹ø° ¼ö¸¦ Ãâ·ÂÇÏ´Â ¹®Á¦¸¦ »ý°¢ÇØ º¸ÀÚ. ¸¸¾à ¼öµéÀ» ¹è¿¿¡ ÀúÀåÇß´Ù¸é a[9]¸¦ Ãâ·ÂÇÏ¸é µÈ´Ù.(C++ ¾ð¾î·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÒ °æ¿ì a[0]¿¡ ù ¹ø° ¼ö¸¦ ÀúÀåÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù.) ÇÏÁö¸¸, ¸®½ºÆ®¿¡ ¼ö¸¦ ÀúÀåÇÑ °æ¿ì, º¯¼ö Temp¿¡ Head °ªÀ» ÀúÀåÇÑ ÈÄ, Temp = Temp -> Next ¸í·É¹®À» 10¹ø ¹Ýº¹Çؼ ¼öÇàÇØ¾ß 10¹ø° ¼ö¸¦ ãÀ» ¼ö ÀÖ´Ù. Áï, ¸®½ºÆ®¿¡ ¼ö¸¦ ÀúÀåÇÑ °æ¿ì, ¹è¿¿¡ ¼ö¸¦ ÀúÀåÇÑ °æ¿ì¿¡ ºñÇØ ÇÁ·Î±×·¥ ½ÇÇà ¼Óµµ°¡ ´À¸± °ÍÀÌ´Ù. ±×·¯¸é ¸®½ºÆ®¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯°¡ ¹«¾ùÀϱî? ±× ÀÌÀ¯´Â, ¸®½ºÆ®´Â Å©±â°¡ Á¤ÇØÁ® ÀÖÁö ¾Ê±â ¶§¹®ÀÌ´Ù. ¹è¿ÀÇ °æ¿ì, óÀ½¿¡ int a[1000]; ó·³ ¼±¾ðÀ» Çϴµ¥, ÀÌ ¶§, ¹è¿¿¡ ÀÔ·ÂµÉ ¼ö ÀÖ´Â ¼öÀÇ ÃÖ´ë °³¼ö´Â 1000°³·Î Á¦ÇѵȴÙ. ÇÏÁö¸¸, ¸®½ºÆ®ÀÇ °æ¿ì, »õ·Î¿î ¼ö°¡ ÀÔ·ÂµÉ ¶§, ¸¶Áö¸· ¼öÀÇ Next Æ÷ÀÎÅÍ¿¡ »õ·Ó°Ô ÀԷµǴ ¼ö¸¦ ÀúÀåÇÏ¸é µÇ±â ¶§¹®¿¡, ¸î °³ÀÇ ¼ö°¡ ÀÔ·ÂµÉ ¼ö ÀÖ´ÂÁö ¸ô¶óµµ µÈ´Ù. Áï, ¸®½ºÆ®´Â ÀÔ·ÂµÉ ¼ö ÀÖ´Â ¼öÀÇ ÃÖ´ë °³¼ö°¡ ¾ó¸¶ÀÎÁö ¸ð¸¦ ¶§ »ç¿ëÇϸé È¿°úÀûÀÎ ÀڷᱸÁ¶ÀÌ´Ù.
¶ÇÇÑ, ½ºÅÃ(stack)ÀÌ ÀÖ´Ù. ½ºÅÃÀº, °£´ÜÈ÷ ¸»Çؼ ¼öµéÀ» º®µ¹Ã³·³ ½×¾Æ Á¤¸®ÇÑ ±¸Á¶ÀÌ´Ù. ½ºÅÃÀ» ±¸ÇöÇÒ ¶§¿¡´Â, ¼öµéÀ» ÀúÀåÇÒ ¹è¿(¹è¿ À̸§À» a¶ó ÇÏÀÚ.)°ú top º¯¼ö°¡ ÇÊ¿äÇÏ´Ù. ¸ÕÀú, topÀÇ °ªÀº óÀ½¿¡ 0À¸·Î ÃʱâȽÃÄÑ¾ß ÇÑ´Ù. ÀÌ ¶§, º¯¼ö top¿¡´Â ½ºÅÿ¡ ÀúÀåµÇ¾î ÀÖ´Â ¼öµé Áß °¡Àå À§¿¡ ÀÖ´Â ¿ø¼Ò ´ÙÀ½ÀÇ index ¹øÈ£°¡ ÀúÀåµÇ¾î ÀÖ´Ù. ¿¹¸¦ µé¾î, a[0]ºÎÅÍ a[3]±îÁö ¼ö°¡ ÀúÀåµÇ¾î ÀÖ´Â »óȲ¿¡¼´Â top=4À̾î¾ß ÇÑ´Ù. ½ºÅÃÀ» ÀÌ¿ëÇØ ¹®Á¦¸¦ ÇØ°áÇÒ ¶§ º¸Åë »ç¿ëÇÏ´Â ¿¬»ê¿¡´Â push(»õ·Î¿î ¼ö¸¦ ÀÔ·ÂÇÏ´Â ¿¬»ê), pop(°¡Àå À§¿¡ ÀÖ´Â ¼ö¸¦ »©´Â ¿¬»ê), ½ºÅÃÀÌ ºñ¾îÀÖ´ÂÁö È®ÀÎÇÏ´Â ¿¬»êÀÌ ÀÖ´Ù. ¸ÕÀú, push ¿¬»êÀ» ÇÒ ¶§¿¡´Â, a[top++]=n ¸í·É¹®À» ½ÇÇà½ÃÅ°¸é µÈ´Ù. Áï, ÇöÀç top °ª¿¡ »õ·Î¿î ¼ö¸¦ ÀÔ·ÂÇÑ ÈÄ, topÀ» 1 Áõ°¡½ÃÅ°¸é µÇ´Â °ÍÀÌ´Ù. pop ¿¬»êÀ» ÇÒ ¶§¿¡´Â topÀ» 1 °¨¼Ò½ÃÅ°¸é µÈ´Ù. ¸¶Áö¸·À¸·Î, ½ºÅÃÀÌ ºñ¾îÀÖ´ÂÁö È®ÀÎÇÏ´Â ¿¬»êÀº top °ªÀÌ 0ÀÎÁö È®ÀÎÇØ º¸¸é µÈ´Ù. top °ªÀÌ 0ÀÌ¸é ½ºÅÃÀÌ ºñ¾î ÀÖ´Â °ÍÀÌ°í, 0ÀÌ ¾Æ´Ï¸é ½ºÅÿ¡ 1°³ ÀÌ»óÀÇ ¼ö°¡ ÀԷµǾî ÀÖ´Â °ÍÀÌ´Ù.
Áö±Ý±îÁö ÇÁ·Î±×·¥ ÀÛ¼º¿¡ È°¿ëÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ÀÚ·á ±¸Á¶µé°ú, ÀÚ·á ±¸Á¶µéÀ» ¹®Á¦ ÇØ°á¿¡ È°¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ³íÀÇÇØ º¸¾Ò´Ù. ÀÌ ±Û¿¡¼ ¼³¸íÇÑ ÀÚ·á ±¸Á¶ ¿Ü¿¡ Æ®¸®(Tree) µî ´Ù¸¥ ÀÚ·á ±¸Á¶µéµµ Àִµ¥, ÀÌ·± ÀÚ·á ±¸Á¶µéÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ÃæºÐÈ÷ ÀÍÈ÷°í, ¹®Á¦¸¦ ÇØ°áÇÒ ¶§ ¾î¶² ÀÚ·á ±¸Á¶¸¦ È°¿ëÇØ¾ß È¿°úÀûÀ¸·Î ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖÀ»Áö ÃæºÐÈ÷ °í¹ÎÀ» ÇÑ´Ù¸é, ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â È¿À²ÀûÀÎ ¾Ë°í¸®ÁòÀ» ãÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. |
|
´äº¯´Þ±â |
|
|
|
|
|