4.5. ½ºÅÃ(stack)
(¿Ã¸° ³¯ : 2001-05-28)

½ºÅÃÀº Ǫ½Ã´Ù¿î ¸®½ºÆ®(pushdown list) ¶Ç´Â ÈÄÀÔ ¼±Ãâ(LIFO; last-in first-out) ¸®½ºÆ®¶ó°íµµ ºÒ¸®¿ì´Âµ¥ ÀÌÀ¯´Â µ¥ÀÌŸÀÇ
»ðÀÔ°ú »èÁ¦°¡ ÇÑÂÊ ³¡¿¡¼¸¸ ÀϾ¹Ç·Î °¡Àå ³ªÁß¿¡ »ðÀÔÇÑ µ¥ÀÌŸ°¡ Á¦ÀÏ ¸ÕÀú »èÁ¦µÇ±â ¶§¹®ÀÔ´Ï´Ù.
±×·³ ÀÌ·¸°Ô °£´ÜÇÑ ½ºÅÃÀ» ÆÄÀ̽㿡¼± ¾î¶»°Ô
»ç¿ëÇÏ´ÂÁö Àá½Ã º¸°Ú½À´Ï´Ù.
ÀÏ¹Ý C
¾ð¾î¿¡¼¿Í´Â ´Þ¸® ÆÄÀ̽㿡¼± ¾Õ¿¡ ±Û¿¡¼ ¸®½ºÆ®¶ó´Â ÀÚ·áÇüÀ» º¸¼ÌÀ» °ÍÀÔ´Ï´Ù.
(¾È º¸¼Ì´Ù¸é Àá½Ã
¾ÕÀ¸·Î À̵¿Çϼż ÇÔ º¸½Ê¼î~ ^^;) ¸®½ºÆ®¶ó´Â ÀÚ·áÇü¿¡¼± append(³¢¿ö ³Ö±â)¿Í pop(»©±â)°¡ ÀÖ½À´Ï´Ù.
## C¿¡¼±
push, pop À̶ó°í ÇÕ´Ï´Ù. °ÅÀÇ ºñ½ÁÇÏÁ®?
## Áö±ÝºÎÅÏ
Python 2.0 (#1, May 11 2001, 19:51:31)
[GCC
egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
Type
"copyright", "credits" or "license" for more
information.
ÀÌ ³ÑÀ» °¡Áö°í ½Ç½ÀÇØ º¸°Ú½À´Ï´Ù ##
ex)
>>>
list = []
>>>
>>>
dir(list)
['append',
'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
¿©±â¿¡ 'append'¶ó´Â
³Ñ°ú 'pop'¶ó´Â ³ÑÀÌ ÀÖ½À´Ï´Ù. ±×¿Ü¿¡ ¸¹Àº °ÍµéÀÌ Àִµ¥ ÀÚ¼¼ÇÑ »çÇ×Àº ·¹ÆÛ·±½º¸¦ º¸½Ê¼î...(Àúµµ ¾ÆÁ÷ Ãʺ¸¶ó¼....¤Ñ¤Ñ;;)
ÀÏ´Ü ÀڷḦ ³Ö½À´Ï´Ù. ÇÑ 100°³ Á¤µµ ³Ö¾î º¼±î¿©~?
>>>
list=[]
>>>
for i in range(100):
... list.append(i)
...
>>>
list
[0, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
>>>
¿ì¿Í ´Ü¼û¿¡ 100°³°¡ µé¾î°¬½À´Ï´Ù. (Àúµµ ½Å±âÇÒ µû¸§ÀÔ´Ï´Ù. ^^*)
ÀÏ´Ü À§¿¡¼ Á¤ÀÇ ÇßµíÀÌ Ã¹¹øÂ° µé¾î°¡´Â '0'ÀÌ ½ºÅÿ¡¼´Â °¡Àå ³ªÁß¿¡ ³ª¿À°Ô µË´Ï´Ù. ¿Ö³Ä±¸¿©...
LIFO °¡Àå ³ªÁß¿¡
µé¾î°£ ³ÑÀÌ Á© »¡¸® ³ª¿Â´Ù´Â À§¿¡ Á¤ÀǸ¦ µû¶ó¼Á®...
°£´ÜÇÏ°Ô ½ºÅÃÀº Å״Ͻº°ø ´ã´Â Åë ¾Æ½ÃÁ®? µÕ±×·¸°Ô »ý±ä°Å 10°³°¡ µé¾î°£´Ù°í »ý°¢ÇϽøé...
Á¦ÀÏ Ã³À½¿¡ ³ÖÀº °øÀº °¡Àå ³ªÁß¿¡ ³ª¿À°ÚÁ®? ¿Ö³Ä¸é ¹ØÀÌ ¾È ¶Õ·Á Àֱ⠶§¹®ÀÌÁ®...
¹ØÀ» ¶Õ´Â ´Ù¸é °¡Àå óÀ½¿¡ µé¾î°£ ³ÑÀÌ
°¡Àå »¡¸® ³ª¿À°ÚÁ®... ±×°Ç µÚ¿¡ ¸»ÇÒ Å¥ ÀÔ´Ï´Ù!!
±×·³
100°³¿¡¼ ÇѰ³¸¸ »©º¸ÁÒ...
>>>
list.pop()
99
>>>
list
[0, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98]
>>>
º¸½Ã¸é
list.pop() Çß´õ´Ï 99¶ó´Â °ªÀÌ ÂïÈ÷¸é¼ ´Ù½Ã list ¸¦ ¶§¸®´Ï 99°¡ ¾ø¾îÁ³½À´Ï´Ù.
%*% ÁÖÀÇ!! ¸¸ÀÏ
list.pop(0) À̶ó°í ÇϸéÀº Á¦ÀÏ ¾Õ¿¡ °ªÀÎ 0ÀÌ ³¯¾Æ°©´Ï´Ù.
¿Ö³Ä¸é ¸®½ºÆ®´Â ¹øÁö°ªÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ±×·¯´Ï±î...ÇöÀç...0 ºÎÅÍ
99±îÁö´Â 0 ºÎÅÍ 99±îÁö¿¡ ¹øÁö °ªÀ» °¡Áö°í ÀÖ´Â °Å³ª ´Ù¸§ÀÌ ¾øÁÒ...
±×·¡¼ Å¥¿¡ ±¸Çöµµ Á¤¸» ½±°Ô °¡´É ÇÕ´Ï´Ù.
±×¿Ü¿¡ µ¥Å©³ª ´Ù¸¥ ÀڷᱸÁ¶Çüµµ ÀÖÁö¸¸...ÀÏ´Ü ½ºÅðú Å¥¸¦ ¾Æ½Ã¸é ´Ù¸¥°Ç...½±°Ô ½±°Ô :-)
ÀÌÁ¦ Á» °¨ÀÌ ÀâÈ÷½Ã´ÂÁö¿ä...
ÇÏÁö¸¸ ¸¸¾à¿¡ ½ºÅÿ¡¼± °¡¿îµ¥ °ªÀ» »¬·Á¸é
±×°Ç ¸»ÀÌ ¾ÈµÇÁ®...¿ì¸®°¡ Á¤ÀÇÇÑ °Í¿¡ ¾î±ß³ª°í ¶Ç! ±×·¸°Ô ÇÒ ¼ö°¡ ¾ø½À´Ï´Ù.
ÇÏÁö¸¸ ÀÌ·± ½ºÅÃÀº ÄÄÇ»ÅÍ¿¡¼ ¸¹ÀÌ »ç¿ëµÇ´Â
µ¥ÀÌŸ ŸÀÔÀÔ´Ï´Ù.
±×·±µ¥!!
ÆÄÀ̽㠸®½ºÆ®¿¡¼± ±×°Ô ¶Ç µË´Ï´Ù.. ¤Ð¤Ì È¥µ¿ÇÏÁö ¸¶½Ã±æ...ÀÌ°Ç ¾îµð±îÁö³ª Á¤ÀÇ ÀÔ´Ï´Ù.
(Á¶±Ý Àд ±ÛÀÌ ¸¹´õ¶óµµ
±×³É Çѹø Á¤µµ Àоî Áֽñæ...¤Ð__¤Ð)
$ Key
Point!!
ÆÄÀ̽㿡¼± ½ºÅÃÀ» °£´ÜÇÏ°Ô ÀÌ¿ëÇØ¼ ¿øÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸®½ºÆ®¶ó´Â °Í¸¸ ¾Ë¸é¿©~ ^^;