37-2.STLÀÇ ±¸Á¶

ÀϹÝÈ­ ÇÁ·Î±×·¡¹ÖÀ̶ó´Â °³³ä°ú STLÀÇ ±¸Á¶´Â Áö±Ý²¯ °æÇèÇØ º¸Áö ¸øÇÑ ¾ÆÁÖ »õ·Î¿î ÀÌ·ÐÀÌ´Ù. ÀÌ·± »ý¼ÒÇÑ °ú¸ñÀ» ¹è¿ï ¶§´Â ¾Æ¹«·¡µµ ½¬¿î ¼ø¼­´ë·Î Çϳª¾¿ ´À±ßÇÑ ÀÚ¼¼·Î ±¸°æÇϸ鼭 ±¸¼º ¿ä¼Ò¸¦ Á¡ÁøÀûÀ¸·Î ÀÍÈ÷´Â °ÍÀÌ È¿À²ÀûÀÌ´Ù. ±×·¯³ª STLÀº ÀÌ·± ¹æ¹ýÀ¸·Î ÇнÀÇϱâ´Â »ó´çÈ÷ ¾î·Á¿î °ú¸ñÀε¥ ¿Ö³ÄÇÏ¸é ¾Æ¹«¸® °£´ÜÇÑ ¿¹Á¦¶óµµ ¸ðµç ¿ä¼ÒµéÀÌ µ¿½Ã¿¡ ÇÊ¿äÇϱ⠶§¹®ÀÌ´Ù. ±×·¡¼­ STLÀº óÀ½ ¹è¿ï ¶§°¡ Á¶±Ý ¾î·Æ´Ù°í Çϴµ¥ ½ÃÀÛ¸¸ Á¶±Ý Èû°Ü¿ï »Ó °³³äÀÌ ÀâÈ÷¸é ·¹ÆÛ·±½º¸¸À¸·Îµµ ÃæºÐÈ÷ È°¿ëÇÒ ¼ö ÀÖ´Ù.

´Ü°èÀûÀÎ ÇнÀÀÌ ¾î·Á¿ì¹Ç·Î ÀÌ Àå¿¡¼­´Â STLÀÇ ±¸Á¶¿¡ ´ëÇÑ °³¿ä¸¦ ¸ÕÀú ¼Ò°³Çϴµ¥ ÁÖ·ÂÇϱâ·Î ÇÑ´Ù. µû¶ó¼­ ¿©·¯ºÐµéµµ ÇѲ¨¹ø¿¡ STLÀÇ ¸ðµç °ÍÀ» ´Ù ¾Ë°Ú´Ù´Â ¸Í·ÄÇÑ ÀÚ¼¼·Î ´ýºñ±â º¸´Ù´Â ±¸°æÇØ º»´Ù´Â °¡º­¿î ¸¶À½À¸·Î ÀÓÇØ Áֱ⠹ٶó¸ç Ȥ½Ã Á» ¾î·Á¿öÁø´Ù´Â ´À³¦ÀÌ µé¾îµµ µÚ¿¡¼­ ´Ù½Ã »ó¼¼ÇÏ°Ô ¼³¸íÇϹǷΠÀÏ´ÜÀº ÀÌÇØµÈ µ¥±îÁö¸¸ Á¢¼öÇÏ°í ¼¼ºÎÀûÀÎ ³»¿ëÀº Àá½Ã º¸·ùÇØ ³õµµ·Ï ÇÏÀÚ. ´ëÃæÀÇ Å« ±¸Á¶°¡ ÀâÈ÷¸é ±× ´ÙÀ½¿¡´Â Çϳª¾¿ ¿Ïº®ÇÏ°Ô °¢°³ °ÝÆÄÇÏ¸é µÈ´Ù. STLÀº ´ÙÀ½ ¿©¼¸ °¡ÁöÀÇ ÁÖ¿ä ±¸¼º ¿ä¼Ò·Î ÀÌ·ç¾îÁ® ÀÖ´Ù.

ÄÁÅ×À̳Ê, ¾Ë°í¸®Áò, ¹Ýº¹ÀÚ°¡ °¡Àå Áß¿äÇÑ ¼¼ ¿ä¼ÒÀ̸ç STL ÇнÀÀÇ ´ëºÎºÐÀÌ ÀÌ ¼¼ ¿ä¼Ò¿¡ Ä¡ÁߵȴÙ. ³× ¹ø° ¿ä¼ÒÀÎ ÇÔ¼ö °´Ã¼´Â ¾Ë°í¸®ÁòÀÇ È°¿ë¼ºÀ» ³ôÀÌ´Â ¿ªÇÒÀ» ÇÏ¸ç ´Ù¼¸ ¹ø° ¿ä¼ÒÀÎ ¾î´ðÅÍ´Â ´Ù¸¥ ¿ä¼ÒµéÀ» ¾à°£¸¸ ¼öÁ¤ÇÏ¿© ÇüŸ¦ º¯ÇüÇÑ´Ù. ¸¶Áö¸· ±¸¼º ¿ä¼ÒÀÎ ÇÒ´ç±â´Â ÄÁÅ×À̳ÊÀÇ ¸Þ¸ð¸®¸¦ °ü¸®ÇÏ´Â °´Ã¼Àε¥ µðÆúÆ®°¡ Àß ÀÛ¼ºµÇ¾î ÀÖÀ¸¹Ç·Î °ÅÀÇ ½Å°æ¾µ ÇÊ¿ä°¡ ¾ø´Ù.

37-2-°¡.ÄÁÅ×À̳Ê

ÄÁÅ×À̳ÊÀÇ Á¾·ù

ÄÁÅ×À̳Ê(Container)¸¦ ¶æ ±×´ë·Î Á÷¿ªÇϸé Åë, ±×¸©ÀÌ´Ù. ½ÒÅë¿¡ ½ÒÀ» ´ã°í ¼úÅë¿¡ ¼úÀ» ÀúÀåÇϵíÀÌ ÄÁÅ×À̳ʴ ¹«¾ùÀΰ¡¸¦ ÀúÀåÇÏ´Â °ÍÀÌ´Ù. STLÀÇ ÄÁÅ×À̳ʴ ŸÀÔÀÌ °°Àº, Áï µ¿ÁúÀûÀÎ °´Ã¼ÀÇ ÁýÇÕÀ» ÀúÀåÇÏ°í °ü¸®ÇÏ´Â ¿ªÇÒÀ» Çϴµ¥ C¿Í C++¿¡¼­ ¹è¿ü´ø ¹è¿­, ¿¬°á ¸®½ºÆ®, ½ºÅà µûÀ§°¡ ÄÁÅ×À̳ÊÀÇ ÁÁÀº ¿¹ÀÌ´Ù.

Á¤¼ö³ª ½Ç¼ö°°Àº ±âº»ÇüÀº ¹°·ÐÀÌ°í Ŭ·¡½ºÀÇ °´Ã¼³ª ±× À¯µµÇü ŸÀÔ±îÁöµµ ÀúÀåÇÑ´Ù. ÇÏ¿¸µç ¶È°°ÀÌ »ý±ä °ÍµéÀ» ¸ð¾Æ ³õ´Â Àå¼Ò¶ó°í ½±°Ô »ý°¢ÇÒ ¼ö ÀÖÀ¸¸ç ´Ù¸¥ ¸»·Î Ä÷º¼Ç(Collection)À̶ó°íµµ ºÎ¸¥´Ù. STLÀÇ ÄÁÅ×À̳ʴ ÀڷḦ ÀúÀåÇÏ´Â ¹æ½Ä°ú »ðÀÔ, Á¤·Ä, »èÁ¦ÇÏ´Â °ü¸® ¹æ½Ä¿¡ µû¶ó ¿©·¯ °¡Áö°¡ Àִµ¥ Å©°Ô ¼¼ °¡Áö ºÎ·ù·Î ±¸ºÐµÈ´Ù.

 

¨ç ½ÃÄö½º ÄÁÅ×À̳Ê(Sequence Container) : ÀÚ·áÀÇ ¼±ÇüÀûÀÎ ÁýÇÕÀ̸ç ÀڷḦ ÀúÀåÇÏ´Â ±âº» ÀÓ¹«¿¡ Ãæ½ÇÇÑ °¡Àå ÀϹÝÀûÀÎ ÄÁÅ×À̳ÊÀÌ´Ù. »ðÀÔµÈ ÀڷḦ ¹«Á¶°Ç ÀúÀåÇϸç ÀԷµǴ ÀÚ·á¿¡ Ưº°ÇÑ Á¦¾àÀ̳ª °ü¸® ±ÔÄ¢Àº ¾ø´Ù. »ç¿ëÀÚ´Â ½ÃÄö½ºÀÇ ÀÓÀÇ À§Ä¡¿¡ ¿øÇÏ´Â ¿ä¼Ò¸¦ ¸¶À½´ë·Î »ðÀÔ, »èÁ¦ÇÒ ¼ö ÀÖ´Ù. STL¿¡´Â º¤ÅÍ, ¸®½ºÆ®, µ¥Å© ¼¼ °¡ÁöÀÇ ½ÃÄö½º ÄÁÅ×À̳ʰ¡ Á¦°øµÈ´Ù.

¨è ¿¬°ü ÄÁÅ×À̳Ê(Associative Container) : ÀڷḦ ¹«Á¶°Ç ÀúÀåÇϱ⸸ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ÀÏÁ¤ÇÑ ±ÔÄ¢¿¡ µû¶ó ÀڷḦ Á¶Á÷È­ÇÏ¿© °ü¸®ÇÏ´Â ÄÁÅ×À̳ÊÀÌ´Ù. Á¤·ÄÀ̳ª Çؽà µîÀÇ ¹æ¹ýÀ» ÅëÇØ »ðÀԵǴ ÀڷḦ Ç×»ó ÀÏÁ¤ÇÑ ±âÁØ(¿À¸§Â÷¼ø, Çؽà ÇÔ¼ö)¿¡ ¸Â´Â À§Ä¡¿¡ ÀúÀåÇØ ³õÀ¸¹Ç·Î °Ë»ö ¼Óµµ°¡ ºü¸¥ °ÍÀÌ ÀåÁ¡ÀÌ´Ù. Ç¥ÁØ STL¿¡´Â Á¤·Ä ¿¬°ü ÄÁÅ×À̳ÊÀÎ ¼Â, ¸Ê µîÀÇ ÄÁÅ×À̳ʰ¡ Á¦°øµÈ´Ù.

¨é ¾î´ðÅÍ ÄÁÅ×ÀÌ³Ê (Adapter Container) : ½ÃÄö½º ÄÁÅ×À̳ʸ¦ º¯ÇüÇÏ¿© ÀڷḦ ¹Ì¸® Á¤ÇØÁø ÀÏÁ¤ÇÑ ¹æ½Ä¿¡ µû¶ó °ü¸®ÇÏ´Â °ÍÀÌ Æ¯Â¡ÀÌ´Ù. ½ºÅÃ, Å¥, ¿ì¼± ¼øÀ§ Å¥ ¼¼ °¡Áö°¡ Àִµ¥ ½ºÅÃÀº Ç×»ó LIFOÀÇ ¿ø¸®·Î µ¿ÀÛÇϸç Å¥´Â Ç×»ó FIFOÀÇ ¿ø¸®·Î µ¿ÀÛÇÑ´Ù. ÀڷḦ ³Ö°í »©´Â ¼ø¼­¸¦ ¿ÜºÎ¿¡¼­ ¸¶À½´ë·Î Á¶ÀÛÇÒ ¼ö ¾øÀ¸¸ç ÄÁÅ×À̳ÊÀÇ ±ÔÄ¢´ë·Î Á¶ÀÛÇØ¾ß ÇÑ´Ù.

 

¼¼ ºÎ·ùÀÇ ÄÁÅ×À̳ʴ »ðÀÔ, »èÁ¦ ±ÔÄ¢¿¡ À־ Â÷ÀÌ°¡ ÀÖ´Ù. ½ÃÄö½º´Â »ðÀÔ, »èÁ¦¿¡ º° Á¦¾àÀÌ ¾øÁö¸¸ ¿¬°ü ÄÁÅ×À̳ʴ ½Å¼ÓÇÑ °Ë»öÀ» À§ÇØ Ã£±â ÁÁÀº À§Ä¡¿¡ ÀÚµ¿ »ðÀÔµÇ¸ç ¾î´ðÅÍ´Â FIFO, LIFO µîÀÇ ¹Ì¸® Á¤ÇÑ ±ÔÄ¢ÀÇ ÅëÁ¦¸¦ µû¸¥´Ù. ±×·¯³ª ÀÚ·áÀÇ ÁýÇÕÀ» ÀúÀåÇÑ´Ù´Â ±â´ÉÀûÀÎ ¸é¿¡¼­´Â µ¿ÀÏÇÏ¸ç ±×·¡¼­ Á¦°øÇÏ´Â ÇÔ¼ö°¡ °ÅÀÇ ºñ½ÁÇÏ°í »ç¿ë ¹æ¹ýµµ À¯»çÇÏ´Ù.

°¢ ÄÁÅ×À̳ʵéÀº °íÀ¯ÀÇ Àå´ÜÁ¡À» °¡Áö°í ÀÖÀ¸¸ç ¸ðµç °æ¿ì¿¡ ÃÖÀûÀÎ ÀÌ»óÀûÀÎ ÄÁÅ×À̳ʴ Á¸ÀçÇÏÁö ¾Ê´Â´Ù. ¸¸¾à ¸ðµç ¸é¿¡¼­ ¿ì¿ùÇÑ ÄÁÅ×À̳ʰ¡ Á¸ÀçÇÑ´Ù¸é ³ª¸ÓÁö ÄÁÅ×À̳ʵéÀº ´õ ÀÌ»ó Á¸ÀçÇÒ °¡Ä¡°¡ ¾øÀ» °ÍÀÌ´Ù. ±×·¯³ª ƯÁ¤ÇÑ »óȲ¿¡ °¡Àå Àß ¾î¿ï¸®¸ç ¼º´É»ó °¡Àå À¯¸®ÇÑ ÄÁÅ×À̳ʴ Á¸ÀçÇÒ ¼ö ÀÖ´Ù. ÄÁÅ×À̳ʺ°·Î Àß³­ Á¡°ú ¸ø³­ Á¡ÀÌ ÀÖ´Ù´Â ¾ê±â´Ù.

°³¹ßÀÚ´Â °ü¸®ÇÏ°íÀÚÇÏ´Â µ¥ÀÌÅÍÀÇ Æ¯¼º°ú ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¿ä±¸¿¡ ¸Â´Â ÄÁÅ×À̳ʸ¦ ÁÖÀÇ ±í°Ô ¼±Á¤Çؼ­ »ç¿ëÇØ¾ß ÇÏ¸ç ±×·¯±â À§Çؼ­´Â °¢ ÄÁÅ×À̳ÊÀÇ ÀÚ·á ÀúÀå ¹æ½Ä°ú °ü¸® ¹æ¹ý¿¡ ´ëÇØ Àß ÆľÇÇÏ°í ÀÖ¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î ¸®½ºÆ®´Â °Ë»öÀº ´À¸®Áö¸¸ »ðÀÔ, »èÁ¦°¡ ºü¸£¹Ç·Î ¼ö½Ã·Î º¯ÇÏ´Â ÀÚ·á¿¡ ÀûÇÕÇÏ°í º¤ÅÍ´Â »ðÀÔ, »èÁ¦°¡ ´À¸®Áö¸¸ Àб⠼ӵµ°¡ ºü¸£¹Ç·Î ´ë¿ë·®ÀÇ ÂüÁ¶¿ë ÀÚ·á¿¡ ÀûÇÕÇÏ´Ù. ÄÁÅ×ÀÌ³Ê ¼±ÅÃÀÌ À߸øµÇ¸é ÇÁ·Î±×·¥ÀÇ ÀüüÀûÀÎ ¼º´ÉÀº º¸ÀåÇÒ ¼ö ¾øÀ¸¸ç ¾ÈÀü¼º¿¡µµ ¸¹Àº Â÷ÀÌ°¡ ¹ß»ýÇÑ´Ù.

º¤ÅÍ

STLÀÌ Á¦°øÇÏ´Â ¸¹Àº ÄÁÅ×ÀÌ³Ê Áß¿¡ ¿©±â¼­´Â ÀÏ´Ü º¤ÅÍ¿Í ¸®½ºÆ®¸¦ ÅëÇØ ÀϹÝÈ­µÈ ÄÁÅ×ÀÌ³Ê »ç¿ë ¹æ¹ýÀ» ¼Ò°³ÇÑ´Ù. ¸ðµç »ý¼ºÀÚ¿Í ¸â¹ö ÇÔ¼öµéÀ» ÀÏÀÏÀÌ ³ª¿­Çϱ⺸´Ù´Â °³¿ä ¼³¸íÀ» À§ÇÑ ¿¹Á¦ À§ÁÖ·Î »ìÆ캼 °ÍÀÌ´Ù. ÀÌ µÎ ÄÁÅ×À̳ʸ¸ Á¦´ë·Î ¾µ ¼ö ÀÖ´Ù¸é ³ª¸ÓÁö ÄÁÅ×À̳ʵ鵵 °ÅÀÇ À¯»çÇÑ ¹æ½ÄÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ·± ÀϹݼºÀÌ ¹Ù·Î STLÀÇ ¸ñÀûÀÌ´Ù.

º¤ÅÍ´Â ½±°Ô ¸»Çؼ­ µ¿Àû ¹è¿­À̶ó°í »ý°¢ÇÏ¸é µÈ´Ù. ¿ä¼ÒÀÇ °³¼ö¿¡ ¸Â°Ô ÀÚµ¿À¸·Î ¸Þ¸ð¸®¸¦ ÀçÇÒ´çÇÏ¿© Å©±â¸¦ ½ÅÃàÀûÀ¸·Î ´Ã¸± ¼ö ÀÖ´Â ¹è¿­ÀÌ´Ù. ´Ü¼øÇÑ µ¿Àû ¹è¿­¿¡ ºñÇØ ÅÛÇø´ ±â¹ÝÀ̹ǷΠ¿ä¼ÒÀÇ Å¸ÀÔ¿¡ ¹«°üÇÑ ¹è¿­À» ¸¸µé ¼ö ÀÖ´Ù´Â °ÍÀÌ Å« ÀåÁ¡ÀÌ´Ù. T ŸÀÔÀÇ Å©±â n ¹è¿­À» ¸¸µé·Á¸é ´ÙÀ½°ú °°ÀÌ ¼±¾ðÇÑ´Ù.

 

vector<T> Name(n);

 

vector°¡ Ŭ·¡½º ÅÛÇø´ÀÇ À̸§À̹ǷΠvector<T>´Â TÇü º¤ÅÍ Å¸ÀÔÀÌ µÈ´Ù. T´Â ÅÛÇø´ÀÇ ÀμöÀ̹ǷΠÀÓÀÇÀÇ ¸ðµç ŸÀÔÀ» ´Ù »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç NameÀº ¸íĪÀ̹ǷΠ»ç¿ëÀÚ°¡ ¿øÇÏ´Â ¾î¶² À̸§µµ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. T ŸÀÔÀÇ vector °´Ã¼¸¦ NameÀ̶ó´Â À̸§À¸·Î »ý¼ºÇ쵂 »ý¼ºÀÚÀÇ Àμö·Î Ãʱ⠿ä¼ÒÀÇ °³¼ö¸¦ Àü´ÞÇÑ´Ù. Å©±â 5ÀÇ Á¤¼öÇü º¤Å͸¦ ¸¸µç´Ù¸é ´ÙÀ½°ú °°ÀÌ ¼±¾ðÇÑ´Ù.

¼±¾ð¹®ÀÌ Á¶±Ý º¹ÀâÇѵ¥ vector<int>±îÁö°¡ ÇϳªÀÇ Å¬·¡½º À̸§À̶ó´Â °Í¸¸ ±¸ºÐµÇ¸é º°·Î ¾î·ÆÁö ¾ÊÀº ¹®ÀåÀÌ´Ù. arÀº Áö±Ý ¼±¾ðÇÏ°íÀÚ ÇÏ´Â °´Ã¼, ´õ ½±°Ô Ç¥ÇöÇÏ¸é º¯¼öÀÇ À̸§ÀÌ°í (5)´Â ÀÌ Å¬·¡½ºÀÇ »ý¼ºÀÚ·Î Àü´ÞµÇ´Â ÀμöÀÏ »ÓÀÌ´Ù. ¸¸¾à Áö±Ý ÀÌ ¼±¾ð¹®ÀÌ Çò°¥¸°´Ù¸é ¾ÆÁ÷ STLÀ» º¼ ´Ü°è°¡ ¾Æ´Ï¹Ç·Î ÅÛÇø´ºÎÅÍ ´Ù½Ã °øºÎÇØ¾ß ÇÑ´Ù.

»ý¼ºÀÚÀÇ Àμö·Î Å©±â¸¦ »ý·«ÇÏ¸é ¿ä¼Ò¸¦ °¡ÁöÁö ¾Ê´Â ºó º¤ÅÍ°¡ ¸¸µé¾îÁø´Ù. ±×·¯³ª º¤ÅÍ´Â µ¿ÀûÀ¸·Î ¸Þ¸ð¸®¸¦ °ü¸®ÇϹǷΠ½ÇÇàÁß¿¡ ¿ä¼Ò¸¦ ¾ó¸¶µçÁö ´õ Ãß°¡ÇÒ ¼ö ÀÖ´Ù. º¤ÅÍ´Â ¸¹Àº ¸â¹ö ÇÔ¼ö¿Í ¿¬»êÀÚµéÀ» °¡Áö°í ÀÖ´Ù. ¹è¿­ÀÇ ¿ä¼Ò¸¦ Àбâ À§ÇÑ [ ] ¿¬»êÀÚ°¡ Á¤ÀǵǾî ÀÖÀ¸¸ç Å©±â¸¦ ¾ò´Â ÇÔ¼ö, ¿ä¼Ò¸¦ Ãß°¡ÇÏ´Â ÇÔ¼ö, »èÁ¦ÇÏ´Â ÇÔ¼ö µîµµ ÀÖ°í Æı«ÀÚ´Â µ¿ÀûÀ¸·Î ÇÒ´çµÈ ¹è¿­À» ÀÚµ¿À¸·Î ÇØÁ¦Çϱ⵵ ÇÑ´Ù. º¤ÅÍ°¡ ÀÏ¹Ý Á¤Àû ¹è¿­°ú ´Ù¸¥ Á¡ ÇÑ °¡Áö¸¦ ±¸°æÇØ º¸ÀÚ.

 

¿¹ Á¦ : vector

#include <iostream>

#include <vector>

using namespace std;

 

void main()

{

     int num;

     int i;

 

     printf("¹è¿­ Å©±â¸¦ ÀÔ·ÂÇϽÿÀ : ");

     scanf("%d",&num);

     vector<int> vi(num);

 

     for (i=0;i<num;i++) {

          vi[i]=i*2;

     }

     for (i=0;i<num;i++) {

          printf("vi[%d]=%d\n",i,vi[i]);

     }

     printf("º¤ÅÍÀÇ Å©±â´Â %dÀÔ´Ï´Ù.\n",vi.size());

}

 

STLÀÇ ±¸¼º ¿ä¼ÒµéÀº ÀüºÎ Çì´õ ÆÄÀÏ¿¡ ¼±¾ðµÇ¾î ÀÖ´Ù. ±×·¡¼­ »ç¿ëÇÏ°íÀÚ ÇÏ´Â ±¸¼º ¿ä¼Ò¸¦ Á¤ÀÇÇÏ´Â Çì´õ ÆÄÀÏÀ» ¹Ýµå½Ã ÀÎŬ·çµåÇØ¾ß ÇÑ´Ù. º¤ÅÍ´Â vector¿¡ Á¤ÀǵǾî ÀÖÀ¸¹Ç·Î ÀÌ Çì´õ ÆÄÀÏÀ» ÀÎŬ·çµåÇß´Ù. ³ª¸ÓÁö ±¸¼º ¿ä¼Òµéµµ ÀÚ½ÅÀÇ À̸§°ú µ¿ÀÏÇÑ Çì´õ ÆÄÀÏ¿¡ Á¤ÀǵǾî ÀÖ´Ù. ¸®½ºÆ®´Â list¿¡, ¸ÊÀº map¿¡ µî ¾È ¿Ü¿öµµ µÉ Á¤µµ·Î ½±´Ù. ±×·±µ¥ ÀÌ ½¬¿î °É ±ô¹Ú ÀØ¾î ¸Ô´Â °æ¿ì°¡ ¸¹À¸¹Ç·Î ¿¡·¯°¡ ¹ß»ýÇϸé Çì´õ ÆÄÀϺÎÅÍ Á¦´ë·Î ÀÎŬ·çµåÇß´ÂÁö Á¡°ËÇØ º¸µµ·Ï ÇÏÀÚ.

Á¤¼ö Çϳª¸¦ ÀÔ·Â¹Þ¾Æ º¤ÅÍÀÇ »ý¼ºÀÚ·Î Àü´ÞÇß´Ù. Á¤Àû ¹è¿­ÀÇ Å©±â´Â ¹Ýµå½Ã »ó¼ö·Î¸¸ ÁöÁ¤ÇÒ ¼ö Àִµ¥ ºñÇØ º¤ÅÍ´Â ½ÇÇàÁß¿¡ »ý¼ºµÇ¹Ç·Î º¯¼ö·Îµµ Å©±â¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. vi Á¤¼öÇü º¤Å͸¦ »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ Å©±â numÀ¸·Î »ý¼ºÇß´Ù. ±×¸®°í ·çÇÁ¸¦ µ¹¸ç º¤ÅÍÀÇ °¢ ¿ä¼Ò¿¡ ÷ÀÚÀÇ 2¹è°ªÀ» ³Ö¾î º¸°í ´Ù½Ã Ãâ·ÂÇß´Ù. º¤ÅÍÀÇ ¿ä¼Ò¸¦ ÂüÁ¶ÇÒ ¶§´Â Á¤Àû ¹è¿­°ú ¸¶Âù°¡Áö·Î [ ] ¿¬»êÀÚ¿Í Ã·ÀÚ¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ÀÓÀÇ Á¢±ÙÀÌ °¡´ÉÇϹǷΠº¤Åͳ»ÀÇ ¾Æ¹« ¿ä¼Ò³ª ÀÐ°í ¾µ ¼ö ÀÖ´Ù. ´ÙÀ½Àº 4¸¦ ÀÔ·ÂÇßÀ» ¶§ÀÇ ½ÇÇà °á°úÀÌ´Ù.

 

¹è¿­ Å©±â¸¦ ÀÔ·ÂÇϽÿÀ : 4

vi[0]=0

vi[1]=2

vi[2]=4

vi[3]=6

º¤ÅÍÀÇ Å©±â´Â 4ÀÔ´Ï´Ù.

 

º¤ÅÍ°¡ Á¦´ë·Î »ý¼ºµÇ¾ú°í °ªÀ» Àß ±â¾ïÇÏ´ÂÁö¸¸ È®ÀÎÇØ º» °ÍÀÌ´Ù. 4°¡ ¾Æ´Ï¶ó 400À̳ª 1000000À» ÀÔ·ÂÇصµ Àß ½ÇÇàµÈ´Ù.

º¤ÅÍÀÇ ÇÒ´ç Å©±â¸¦ Á¶»çÇÏ·Á¸é size ¸â¹ö ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. Á¤Àû ¹è¿­Àº ÀÏ´Ü ¼±¾ðµÇ¸é ½ÇÇà Áß¿¡ ±× Å©±â¸¦ ¾Ë ¼ö ¾øÁö¸¸ º¤ÅÍ´Â ³»ºÎ¿¡¼­ Å©±â¸¦ °ü¸®ÇϹǷΠsize ÇÔ¼ö·Î ÇöÀç Å©±â¸¦ Á¤È®ÇÏ°Ô Á¶»çÇÒ ¼ö ÀÖ´Ù. º¤ÅÍÀÇ Å©±â´Â ¿ä¼ÒÀÇ °³¼ö¿¡ µû¶ó ½ÅÃàÀûÀ¸·Î °ü¸®µÇ¹Ç·Î Ãʱâ ÇÒ´çµÈ Å©±âº¸´Ù ´õ ¸¹Àº ¿ä¼Ò¸¦ »ðÀÔÇصµ µÈ´Ù.

 

¿¹ Á¦ : pushback

#include <iostream>

#include <vector>

using namespace std;

 

void main()

{

     int i;

 

     vector<int> vi;

 

     for (i=0;i<10;i++) {

          vi.push_back(i*2);

     }

     for (i=0;i<10;i++) {

          printf("vi[%d]=%d\n",i,vi[i]);

     }

     printf("º¤ÅÍÀÇ Å©±â´Â %dÀÔ´Ï´Ù.\n",vi.size());

}

 

µðÆúÆ® »ý¼ºÀÚ·Î Á¤¼öÇüÀÇ ºó º¤ÅÍ vi¸¦ ¼±¾ðÇÏ°í push_back ÇÔ¼ö·Î µÚÂÊ¿¡ ¿ä¼Ò¸¦ 10°³ Ãß°¡Çß´Ù. push_backÀº Á¦ÀÏ µÚ¿¡ »õ·Î¿î ¿ä¼Ò Çϳª¸¦ Ãß°¡(Append)Çϸç ÀÌ °úÁ¤¿¡¼­ º¤ÅÍÀÇ ¸Þ¸ð¸®°¡ ºÎÁ·ÇÏ´Ù¸é ÀçÇÒ´çµÈ´Ù. 10°³ÀÇ °ªÀÌ Á¦´ë·Î Àß ±â¾ïµÇ´ÂÁö¸¸ È®ÀÎÇØ º¸¾Ò´Âµ¥ ¹°·Ð Àß ±â¾ïµÈ´Ù. 10°³°¡ ¾Æ´Ï¶ó ¾ó¸¶µçÁö ´õ ¸¹Àº ¿ä¼Ò¸¦ Ãß°¡ÇÏ´õ¶óµµ ¸Þ¸ð¸® ³²Àº ¿ë·®±îÁö´Â ±â¾ïÇÒ ¼ö ÀÖ´Ù.

º¤ÅÍ´Â ¿ä¼ÒµéÀ» ÀÎÁ¢ÇÑ ¸Þ¸ð¸® À§Ä¡¿¡ ¿¬¼ÓÀûÀ¸·Î ÀúÀåÇÑ´Ù. ±×·¡¼­ ´Ü¼øÇÑ Ã·ÀÚ ¿¬»ê¸¸À¸·Îµµ ¿øÇÏ´Â ¿ä¼Ò¸¦ ºü¸£°Ô ÀÐ°í ¾µ ¼ö ÀÖÀ¸¸ç ÀÓÀÇÀÇ ¿ä¼Ò·Î À̵¿ÇÏ´Â µ¿ÀÛµµ »ó¼ö ½Ã°£¿¡ ¼öÇàÇÒ ¼ö ÀÖ´Ù. Àб⠼ӵµ°¡ ºü¸£¹Ç·Î Á¤·ÄÀ̳ª À̺Р°Ë»ö µîÀÇ ¾Ë°í¸®Áò¿¡ ´ë´ÜÈ÷ È¿À²ÀûÀÌ´Ù. ±×·¯³ª ÀÓÀÇ Á¢±ÙÀÌ °¡´ÉÇϱâ À§Çؼ­´Â ¿ä¼Ò ÀÎÁ¢ Á¶°ÇÀ» Ç×»ó ¸¸Á·ÇØ¾ß ÇϹǷΠÁß°£¿¡¼­ »ðÀÔ »èÁ¦ÇÒ ¶§´Â ¸Þ¸ð¸®¸¦ ¹Ð°í ´ç±â´Â 󸮸¦ ÇØ¾ß ÇÏ¸ç µû¶ó¼­ »ðÀÔ, »èÁ¦ ¼Óµµ´Â ´À¸®´Ù.

¸®½ºÆ®

¸®½ºÆ®´Â ÀÌÁß ¿¬°á ¸®½ºÆ®·Î ±¸ÇöµÈ ÄÁÅ×À̳ÊÀÌ´Ù. ¸®½ºÆ®ÀÇ ¿ä¼ÒµéÀº ³ëµå¶ó´Â ±¸Á¶Ã¼·Î °ü¸®µÇ¸ç ³ëµå³¢¸®´Â ¸µÅ©·Î ¼­·Î ¿¬°áµÇ¾î ÀÖ¾î ¿ä¼ÒÀÇ ³í¸®ÀûÀÎ ¼ø¼­¸¦ ±â¾ïÇÑ´Ù. ³ëµå´Â ¸µÅ©¿¡ ÀÇÇØ ¿¬°áµÉ »ÓÀ̹ǷΠÀÎÁ¢ÇÑ ¸Þ¸ð¸®¿¡ ¹èÄ¡µÇÁö ¾Ê¾Æµµ »ó°ü¾øÀ¸¸ç »ðÀÔ, »èÁ¦ÇÒ ¶§µµ ¾ÕµÚ ³ëµåÀÇ ¸µÅ©¸¸ Á¶ÀÛÇϹǷΠ´ë¿ë·®ÀÇ ¸Þ¸ð¸®¸¦ ¹Ð°í ´ç±æ ÇÊ¿ä°¡ ¾ø´Ù. ±×·¡¼­ »ðÀÔ, »èÁ¦ ¼Óµµ°¡ ´ë´ÜÈ÷ ºü¸£´Ù. ¹Ý¸é ¸®½ºÆ®ÀÇ ÇÑ ¿ä¼Ò¸¦ ãÀ¸·Á¸é ù ³ëµåºÎÅÍ ¼ø¼­´ë·Î ¸µÅ©¸¦ µû¶ó À̵¿ÇØ¾ß ÇϹǷΠÀб⠼ӵµ´Â ¹«Ã´ ´À¸®´Ù.

µ¿ÀÏÇÑ ÀÚ·áÀÇ ÁýÇÕÀ» °ü¸®ÇÑ´Ù´Â ¸é¿¡¼­ º¤ÅÍ¿Í ¿ëµµ´Â µ¿ÀÏÇÏÁö¸¸ ³»ºÎÀûÀÎ ±¸Á¶°¡ »óÀÌÇؼ­ È®¿¬È÷ ´Ù¸¥ Ư¡À» °¡Áø´Ù. ¸®½ºÆ®´Â »ðÀÔ, »èÁ¦¿¡ °­ÇÏ°í º¤ÅÍ´Â ÀÐ°í ¾²±â¿¡ °­ÇÑ ÄÁÅ×À̳ʶó°í ÇÒ ¼ö ÀÖ´Ù. »ó´ë¹æÀÇ ÀåÁ¡Àº °ð ÀÚ½ÅÀÇ ´ÜÁ¡°ú °°¾Æ ÀÌ µÑÀº ¼­·Î ´ëü °¡´ÉÇϸ鼭µµ ¿ëµµ°¡ ºÐ¸íÈ÷ ±¸ºÐµÈ´Ù. ¸®½ºÆ®ÀÇ ¼±¾ð Çü½ÄÀº ´ÙÀ½°ú °°´Ù.

 

list<T> Name;

 

ÅÛÇø´ Àμö·Î ¿ä¼ÒÀÇ Å¸ÀÔ T¸¦ Àü´ÞÇÏ¸ç »ý¼ºÀÚÀÇ Àμö´Â ¾ø´Ù. ¸®½ºÆ®´Â ÃÖÃÊ ºó »óÅ·Π¸¸µé¾îµµ ºü¸¥ ¼Óµµ·Î »ðÀÔ, »èÁ¦¸¦ ÇÒ ¼ö ÀÖÀ¸¹Ç·Î Åë»ó ºó »óÅ·Π»ý¼ºÇÑ´Ù. ¸®½ºÆ®¿¡ ¿ä¼Ò¸¦ »ðÀÔ, »èÁ¦ÇÒ ¶§´Â ´ÙÀ½ 4°³ÀÇ ¸â¹ö ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.

 

¸â¹ö ÇÔ¼ö

¼³¸í

push_front

Á¦ÀÏ ¾Õ¿¡ ¿ä¼Ò Ãß°¡

push_back

Á¦ÀÏ µÚ¿¡ ¿ä¼Ò Ãß°¡

pop_front

Á¦ÀÏ ¾ÕÀÇ ¿ä¼Ò »èÁ¦

pop_back

Á¦ÀÏ µÚÀÇ ¿ä¼Ò »èÁ¦

 

¸®½ºÆ®ÀÇ ¾Õ, µÚ¿¡¼­ »ðÀÔ, »èÁ¦¸¦ ÀÚÀ¯·Ó°Ô ±×°Íµµ ¾ÆÁÖ ºü¸¥ »ó¼ö ½Ã°£¿¡ ÇÒ ¼ö ÀÖ´Ù. ÀÌ¿¡ ºñÇØ º¤ÅÍ´Â Á¦ÀÏ µÚ¿¡¼­¸¸ Ãß°¡, Á¦°Å°¡ °¡´ÉÇÏ¿© push_front, pop_front ÇÔ¼ö¸¦ Á¦°øÇÏÁö ¾Ê´Â´Ù.

Áß°£¿¡¼­ »ðÀÔ, »èÁ¦ÇÒ ¶§´Â insert, erase ¸â¹ö ÇÔ¼ö¸¦ »ç¿ëÇϴµ¥ ¸µÅ©¸¸ Á¶ÀÛÇϹǷΠ»ðÀÔ À§Ä¡¿¡ »ó°ü¾øÀÌ Ç×»ó »ó¼ö ½Ã°£¿¡ 󸮵ȴÙ. º¤ÅÍ¿Í µ¿ÀÏÇÑ ¿¹Á¦¸¦ ¸®½ºÆ®·Î ¸¸µé¾î º¸ÀÚ.

 

¿¹ Á¦ : list

#include <iostream>

#include <list>

using namespace std;

 

void main()

{

     list<int> li;

     int i;

 

     for (i=0;i<5;i++) {

          li.push_back(i*2);

     }

     list<int>::iterator it;

     for (it=li.begin(),i=0;it!=li.end();it++,i++) {

          printf("%d¹ø°=%d\n",i,*it);

     }

}

 

¸®½ºÆ® ÄÁÅ×À̳ʸ¦ ¾²±â À§ÇØ list Çì´õ ÆÄÀÏÀ» ÀÎŬ·çµå ÇÏ°í ÀÖÀ¸¸ç Á¤¼öÇü ¸®½ºÆ® li¸¦ ¼±¾ðÇÑ ÈÄ ´Ù¼¸ °³ÀÇ ¿ä¼Ò¸¦ ³Ö¾ú´Ù°¡ ´Ù½Ã Ãâ·ÂÇØ º¸±â¸¸ Çß´Ù.

 

0¹ø°=0

1¹ø°=2

2¹ø°=4

3¹ø°=6

4¹ø°=8

 

¸®½ºÆ®´Â ¿ø·¡ºÎÅÍ °¡º¯ÀûÀÎ Å©±â¸¦ ´Ù·ê ¼ö ÀÖÀ¸¹Ç·Î Ãʱâ ÇÒ´ç Å©±â¸¦ ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ¾øÀ¸¸ç µðÆúÆ® »ý¼ºÀÚ·Î ¸®½ºÆ®¸¦ ¸¸µé±â¸¸ Çß´Ù. ºó ¸®½ºÆ®·Î »ý¼ºµÇ´õ¶óµµ push_backÀ» È£ÃâÇÏ¸é ³ëµå¸¦ À§ÇÑ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ°í ¸µÅ©¸¦ ¿¬°áÇÏ´Â °Íµµ ³»ºÎ¿¡¼­ ¾Ë¾Æ¼­ ¼öÇàÇÑ´Ù.

¸®½ºÆ®ÀÇ ³ëµåµéÀº ¸Þ¸ð¸®ÀÇ °÷°÷¿¡ Èð¾îÁ® Á¸ÀçÇÏ¿© ÀÓÀÇ Á¢±ÙÀÌ ºÒ°¡´ÉÇϹǷΠ¸ðµç ¿ä¼Ò¸¦ ¼øȸÇÏ·Á¸é ¸µÅ©¸¦ µû¶ó ¼ø¼­´ë·Î À̵¿ÇÏ´Â ¼ö¹Û¿¡ ¾ø´Ù. À̶§´Â ÈçÈ÷ ³ëµå¸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍ°¡ »ç¿ëµÇ´Âµ¥ STL¿¡¼­´Â Æ÷ÀÎÅÍ ´ë½Å ¹Ýº¹ÀÚ¶ó´Â Ưº°ÇÑ °´Ã¼¸¦ »ç¿ëÇÑ´Ù. ¹Ýº¹ÀÚ¿¡ ´ëÇؼ­´Â Àá½Ã ÈÄ ¼Ò°³Ç쵂 ÀÏ´ÜÀº Æ÷ÀÎÅÍó·³ ¿ä¼Ò¸¦ °¡¸®Å³ ¼ö ÀÖ°í Áõ°¨ ¿¬»ê¿¡ ÀÇÇØ ÁÖº¯ ¿ä¼Ò·Î À̵¿ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» °¡Áø´Ù°í ÀÌÇØÇØ µÎÀÚ.

¿¹Á¦ ÄÚµåÀÇ it°¡ ¹Ù·Î Á¤¼öÇü ¸®½ºÆ®ÀÇ ¹Ýº¹ÀÚÀÌ´Ù. ¸®½ºÆ®ÀÇ begin ¸â¹ö ÇÔ¼ö´Â ù ¹ø° ¿ä¼Ò, ±×·¯´Ï±î Çì´õÀÇ À§Ä¡¸¦ ±¸Çϸç end´Â ¸¶Áö¸· ¿ä¼Ò, Áï Å×ÀÏÀÇ À§Ä¡¸¦ ±¸ÇÑ´Ù. ¹Ýº¹ÀÚ¸¦ Çì´õ¿¡¼­ Å×ÀÏ Á÷Àü±îÁö ¼øȸÇϸ鼭 ¹Ýº¹ÀÚ°¡ °¡¸®Å°´Â ¿ä¼ÒÀÎ *it¸¦ Àоî Ãâ·ÂÇÏ¸é ¸®½ºÆ®ÀÇ ¸ðµç ¿ä¼Ò¸¦ ¼øȸÇϸ鼭 ±× °ªÀ» Ãâ·ÂÇÒ ¼ö ÀÖ´Ù.

¸Ê

¸ÊÀº µÎ °³¾¿ ¦À» ÀÌ·ç´Â µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â ÄÁÅ×À̳ÊÀÌ´Ù. ¿¬°ü ÄÁÅ×À̳ÊÀÇ ÀÏÁ¾ÀÎ ¸ÊÀº ½ÃÄö½º¿Í´Â ´Þ¸® ¾Æ¹«·¸°Ô³ª ¿ä¼Ò¸¦ ÀúÀåÇÏÁö ¾ÊÀ¸¸ç Á¤·ÄµÈ À§Ä¡¿¡ »ðÀÔÇÑ´Ù. Ç×»ó Á¤·ÄµÈ »óÅ·Π°ü¸®µÇ¹Ç·Î À̺Р°Ë»ö ±â¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç µû¶ó¼­ ¿ä¼Ò°¡ ¾Æ¹«¸® ¸¹¾Æµµ ±²ÀåÈ÷ ºü¸£°Ô °Ë»öÇÒ ¼ö ÀÖ´Ù. ´ë·®ÀÇ µ¥ÀÌÅ͸¦ ½Å¼ÓÇÏ°Ô °Ë»öÇØ¾ß ÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¶§ ¸ÊÀÌ ÁÖ·Î »ç¿ëµÈ´Ù.

´ÙÀ½ ¿¹Á¦´Â ÆíÀÇÁ¡ÀÇ »óÇ°°ú °¡°Ý ¸ñ·ÏÀ» ¸Ê¿¡ ÀúÀåÇØ µÎ°í »óÇ°¸íÀ¸·Î °¡°ÝÀ» °Ë»öÇÑ´Ù. »óÇ°ÀÇ À̸§Àº ¹®ÀÚ¿­ÀÌ°í °¡°ÝÀº Á¤¼öÀÌ¸ç µÎ °³°¡ ÇÑ ½ÖÀÌ µÇ¾î »óÇ° ÇϳªÀÇ Á¤º¸¸¦ Ç¥ÇöÇϹǷΠÀÌ ½ÖÀ» ÀúÀåÇϱâ À§ÇÑ ÄÁÅ×À̳ʷδ ¸ÊÀÌ °¡Àå Àû´çÇÑ´Ù.

 

¿¹ Á¦ : map

#include <iostream>

#include <string>

#include <map>

using namespace std;

 

struct SProduct

{

     string Name;

     int Price;

} arPro[]={

     {"¸Àµ¿»ê",500},{"¹ÚÄ«½º",400},{"³×½ºÄ«Æä",250},{"½Å¶ó¸é",450},

     {"88¶óÀÌÆ®",1900},{"ºÒƼ³ª",300},{"½ºÅ¸Å·",700},{"±èÄ¡",2000},

     {"½Å¹®",500},{"ºñŸ500",500},{"ºñŸ1000",1000},{"¿Õ²ÞƲÀÌ",900},

     {"»ÇºüÀÌ",200},{"À§½ºÆÛ",800},{"ÄÜÅØ600",600},{"Æ丮¿ÀÄ¡¾à",2200},

     {"¸ð³ª¹Ìº¼Ææ",90},{"±îÆä¶ó¶¼",990},{"¹åµ¥¸®",1000},{"ÃÝÄÚÆÄÀÌ",250},

};

 

void main()

{

     map<string,int> mPro;

     map<string,int>::iterator it;

     int i;

     string Name;

 

     for (i=0;i<sizeof(arPro)/sizeof(arPro[0]);i++) {

          mPro[arPro[i].Name]=arPro[i].Price;

     }

 

     for (;;) {

          cout << "»óÇ°¸íÀ» ÀÔ·ÂÇϽÿÀ(³¡³¾¶§´Â '³¡'ÀÔ·Â) : ";

          cin >> Name;

          if (Name=="³¡") break;

          it=mPro.find(Name);

          if (it == mPro.end()) {

              cout << "±×·± Á¦Ç°Àº ¾ø½À´Ï´Ù." << endl;

          } else {

              cout << Name << "ÀÇ °¡°ÝÀº " << it->second << "ÀÔ´Ï´Ù." << endl;

          }

     }

}

 

¸ÊÀ» »ç¿ëÇϱâ À§ÇØ map Çì´õ ÆÄÀÏÀ» ÀÎŬ·çµåÇß´Ù. ¿¹Á¦ÀÇ ÄÚµå´Â ±²ÀåÈ÷ º¹ÀâÇØ º¸À̴µ¥ ´ÙÀ½¿¡ »ó¼¼ÇÏ°Ô ¾Ë¾Æº¼ °ÍÀ̹ǷΠÀÏ´Ü ±¸°æ¸¸ ÇØ º¸ÀÚ. ¿©±â¼­´Â ±¸Á¶Ã¼ ¹è¿­¿¡¼­ ¸î °³ÀÇ Á¤º¸¸¦ Àоî¿ÔÁö¸¸ ½ÇÁ¦ ÇÁ·Î±×·¥¿¡¼­´Â DB¿¡ ±â·ÏµÈ ¹æ´ëÇÑ ·¹Äڵ带 Àоîµé¿© ¸Ê¿¡ ÀúÀåÇÒ °ÍÀÌ´Ù. ½ÇÇàÇØ º¸ÀÚ.

 

»óÇ°¸íÀ» ÀÔ·ÂÇϽÿÀ(³¡³¾¶§´Â '³¡'ÀÔ·Â) : »ÇºüÀÌ

»ÇºüÀÌÀÇ °¡°ÝÀº 200ÀÔ´Ï´Ù.

»óÇ°¸íÀ» ÀÔ·ÂÇϽÿÀ(³¡³¾¶§´Â '³¡'ÀÔ·Â) : ¹åµ¥¸®

¹åµ¥¸®ÀÇ °¡°ÝÀº 1000ÀÔ´Ï´Ù.

»óÇ°¸íÀ» ÀÔ·ÂÇϽÿÀ(³¡³¾¶§´Â '³¡'ÀÔ·Â) : ³¡

 

»óÇ° À̸§À» ÀÔ·ÂÇÏ¸é °¡°ÝÀÌ ¹Ù·Î ¹Ù·Î Á¶»çµÈ´Ù. ¸ÊÀº Ç×»ó Á¤·ÄµÈ »óÅ·ΠÀڷḦ °ü¸®ÇϹǷΠ°Ë»ö ¼Óµµ°¡ ºü¸¥ °ÍÀÌ Å« ÀåÁ¡ÀÌ´Ù. ÀÌ Á¤µµ ¿¹Á¦¿¡¼­´Â »óÇ°ÀÇ °³¼ö°¡ ¸¹Áö ¾Ê¾Æ ½Ç¿ë¼ºÀ» ´À³¢±â ¾î·ÆÁö¸¸ ¼ö½Ê¸¸Á¾ÀÇ »óÇ°À» ´Ù·ç´Â ´ë±Ô¸ð ÇÒÀÎÁ¡¿¡¼­´Â ½Å¼ÓÇÑ °è»êÀ» À§ÇØ °¡°ÝÀ» °Ë»öÇÏ´Â ¼Óµµ°¡ ´ë´ÜÈ÷ Áß¿äÇÏ´Ù.

 

¿©±â¼­´Â ´ëÇ¥ÀûÀÌ°í ½Ç¿ë¼ºÀÌ ³ôÀº ¼¼ °³ÀÇ ÄÁÅ×À̳ʸ¸ ¼Ò°³Çߴµ¥ STL¿¡´Â ÀÌ ¿Ü¿¡µµ ½ºÅÃ, Å¥, µ¥Å© °°Àº Àß ¾Ë·ÁÁø ÀÚ·á ±¸Á¶µéÀÌ ÄÁÅ×À̳ʷΠÁ¦°øµÈ´Ù. »ç½Ç C/C++À» ¾î´À Á¤µµ °øºÎÇÑ »ç¶÷À̶ó¸é ÀÌ·± ÀÚ·á ±¸Á¶¸¦ Á÷Á¢ ¸¸µé¾î ¾²´Â Á¤µµ´Â ´©±¸³ª ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ¾î·ÆÁö´Â ¾ÊÁö¸¸ ÀÏÀÏÀÌ ¸¸µé¾î ¾²·Á¸é ±ÍÂú°í ½Ã°£ÀÌ ¸¹ÀÌ °É¸®¸ç ¶Ç ¼º´É º¸ÁõÀ̳ª ¾ÈÀü¼ºÀ» Àå´ãÇϱ⵵ ¾î·Æ´Ù.

STLÀº ´©°¡ ¸¸µé¾îµµ ¶È°°À» ¼ö¹Û¿¡ ¾ø´Â ÄÁÅ×À̳ʵéÀ» ¹Ì¸® ¸¸µé¾î¼­ Á¦°øÇϹǷΠ¸Å¹ø ÀÌ·± ÀÚ·á ±¸Á¶¸¦ ¸¸µé ÇÊ¿ä¾øÀÌ STLÀÇ ÄÁÅ×À̳ʸ¦ ¾²´Â ¹æ¹ý¸¸ ÀÍÈ÷¸é µÈ´Ù. STL ÄÁÅ×À̳ʴ ÅÛÇø´ ±â¹ÝÀ̶ó ÀÓÀÇÀÇ Å¸ÀÔ¿¡ ´ëÇؼ­ µ¿ÀÛÇÏ¸ç ºü¸£°í ½Å·ÚÇÒ¸¸ÇÏ´Ù. °Ô´Ù°¡ ¾ð¾î¿¡ Æ÷ÇÔµÈ ±¹Á¦ Ç¥ÁØÀ̹ǷΠÆÀ ÇÁ·ÎÁ§Æ®¿¡ À¯¸®Çϸç ȣȯ¼º, À̽ļº±îÁö ´ýÀ¸·Î È®º¸ÇÒ ¼ö ÀÖ´Ù.