39-2.¹Ýº¹ÀÚÀÇ Á¾·ù

39-2-°¡.¹Ýº¹ÀÚÀÇ ±â´É

¾ÕÀå¿¡¼­ ¹Ýº¹ÀÚÀÇ ±âº»ÀûÀÎ ±â´É¿¡ ´ëÇØ ¼Ò°³Çߴµ¥ ±× Áß °¡Àå ±âº»ÀûÀÎ °ÍÀº ÄÁÅ×À̳ÊÀÇ ÇÑ ¿ä¼Ò¸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍÀÇ ¿ªÇÒÀÌ´Ù. ó¸® ´ë»óÀ» ÁöÁ¤Çϰųª °Ë»ö °á°ú¸¦ ¸®ÅÏÇÏ¸ç µÎ °³¾¿ ¦À» ÀÌ·ç¾î ±¸°£À» ÁöÁ¤Çϱ⵵ ÇÑ´Ù. ÀÌ¿Ü¿¡ °¡¸®Å°´Â ¿ä¼Ò¸¦ Àоî¿À´Â * ¿¬»êÀÚ, ¾ÕµÚ ¿ä¼Ò·Î À̵¿ÇÒ ¼ö ÀÖ´Â ++, -- ¿¬»êÀÚ¸¦ Á¦°øÇϸç ÀÓÀÇ À§Ä¡·Î À̵¿Çϰųª ¹Ýº¹ÀÚ³¢¸® ºñ±³ ¹× ´ëÀÔµµ °¡´ÉÇÏ´Ù.

±×·¯³ª ¸ðµç ¹Ýº¹ÀÚ°¡ ÀÌ·± ±â´ÉµéÀ» ÇѲ¨¹ø¿¡ °¡Áö´Â °ÍÀº ¾Æ´Ï¸ç ¾î¶² ¿¬»êÀÌ Á¦°øµÇ´Â°¡¿¡ µû¶ó ´ÙÀ½°ú °°ÀÌ ºÐ·ùÇÒ ¼ö ÀÖ´Ù. STLÀº Á¦°øÇÏ´Â ±â´É¿¡ µû¶ó ¹Ýº¹ÀÚ¸¦ ´Ù¼¸ ·¹º§·Î ºÐ·ùÇϴµ¥ ¾Æ·¡ÂÊÀ¸·Î ³»·Á°¥¼ö·Ï ´õ ¸¹Àº ±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÌ Àý¿¡¼­ °¢ ¹Ýº¹ÀÚ Á¾·ùµéÀÇ ±â´ÉÀ» ¼ø¼­´ë·Î »ìÆì º¼ ¿¹Á¤À̹ǷΠµµÇ¥¸¦ ÅëÇØ À̸§ºÎÅÍ ÆľÇÇØ ³õÀÚ.

 

¹Ýº¹ÀÚ

¾à¾î

¼³¸í

ÀÔ·Â

InIt

¿À·ÎÁö ÀԷ¸¸ °¡´ÉÇÏ¸ç ¾µ ¼ö´Â ¾ø´Ù.

Ãâ·Â

OutIt

Ãâ·Â¸¸ °¡´ÉÇϸç ÀÐÁö´Â ¸øÇÑ´Ù.

¼ø¹æÇâ

FwdIt

ÀÔÃâ·ÂÀÌ ¸ðµÎ °¡´ÉÇÏ´Ù. ÀüÁø¸¸ °¡´ÉÇÏ´Ù.

¾ç¹æÇâ

BiIt

¾ÕµÚ·Î À̵¿ÇÒ ¼ö ÀÖ´Ù. °¨¼Ò ¿¬»êÀÚ¸¦ Á¤ÀÇÇÑ´Ù.

ÀÓÀÇ Á¢±Ù

RanIt

ÀÓÀÇÀÇ ¿ä¼Ò¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù. [ ] ¿¬»êÀÚ¸¦ Á¤ÀÇÇÑ´Ù.

 

STLÀÌ ¹Ýº¹ÀÚ¸¦ ±â´Éº°·Î ºÐ·ùÇÏ´Â ÀÌÀ¯´Â ¾Ë°í¸®ÁòÀÇ Àû¿ë Á¶°ÇÀ» Á¦ÇÑÇϱâ À§Çؼ­ÀÌ´Ù. ¾Ë°í¸®ÁòÀº ³»ºÎ ±¸ÇöÀ» À§ÇØ ¹Ýº¹ÀÚÀÇ ¿©·¯ ±â´ÉÀ» È°¿ëÇϴµ¥ ¾î¶² ±â´ÉÀÌ »ç¿ëµÇ´Â°¡¿¡ µû¶ó ¿ä±¸µÇ´Â ¹Ýº¹ÀÚ°¡ ´Ù¸£´Ù. ¸¸¾à ÇØ´ç ¹Ýº¹ÀÚ°¡ ¾Ë°í¸®ÁòÀÌ ¿ä±¸ÇÏ´Â ±â´ÉÀ» Á¦°øÇÏÁö ¸øÇÑ´Ù¸é ÀÌ ¹Ýº¹Àڷδ ±× ¾Ë°í¸®ÁòÀ» È£ÃâÇÒ ¼ö ¾ø´Ù.

¿¹¸¦ µé¾î ¿ä¼ÒµéÀ» Á¤·ÄÇÏ´Â sort ÇÔ¼ö´Â È¿À²ÀûÀÎ Á¤·ÄÀ» À§ÇØ ÀÓÀÇ Á¢±ÙÀÌ °¡´ÉÇØ¾ß Çϴµ¥ ÀÓÀÇ Á¢±ÙÀÌ Áö¿øµÇÁö ¾Ê´Â ¹Ýº¹ÀÚ¿¡ ´ëÇؼ­´Â ÀÌ ±â´ÉÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ¾ïÁö·Î ÇÏÀÚ¸é °¡´ÉÀº ÇÏ°ÚÁö¸¸ ¼ø¼­´ë·Î Àоî¾ß ÇÑ´Ù¸é ºñ±³ ȸ¼ö°¡ Áö³ªÄ¡°Ô ¸¹¾ÆÁ® È¿À²ÀÌ ±²ÀåÈ÷ ¶³¾îÁú °ÍÀÌ´Ù. ±×·¡¼­ ¾Ë°í¸®ÁòÀÌ Áö¿øÇÏ´Â ÃÖ¼ÒÀÇ ¹Ýº¹ÀÚ°¡ Á¦ÇѵǾî ÀÖÀ¸¸ç ÀÌ·± Á¦ÇÑ¿¡ ÀÇÇØ STLÀº ¾Ë°í¸®Áò°ú ÄÁÅ×À̳ÊÀÇ È¿À²ÀûÀÎ °áÇÕ¸¸À» Çã¿ëÇÑ´Ù.

¾Ë°í¸®Áò ÇÔ¼öµéÀº ¸ðµÎ ÇÔ¼ö ÅÛÇø´À¸·Î Á¤ÀǵǾî ÀÖÀ¸¸ç ¹Ýº¹ÀÚ Å¸ÀÔÀ» ÅÛÇø´ Àμö·Î ¹Þ¾ÆµéÀδÙ. °¢ ¾Ë°í¸®ÁòÀÇ ¿øÇü¿¡´Â ¹Ýº¹ÀÚ¿¡ ´ëÇÑ ÃÖ¼ÒÇÑÀÇ ¿ä±¸ »çÇ×ÀÌ ¸í½ÃµÇ¾î ÀÖÀ¸¹Ç·Î ¿øÇüÀ» º¸¸é ¾î¶² ¹Ýº¹ÀÚ°¡ ÇÊ¿äÇÑÁö ½±°Ô ¾Ë ¼ö ÀÖ´Ù. find¿Í sort ¾Ë°í¸®ÁòÀÇ ¿øÇüÀ» ´Ù½Ã ÇÑ ¹ø ´õ º¸ÀÚ.

 

InIt find(InIt first, InIt last, const T& val);

void sort(RanIt first, RanIt last);

 

find´Â °Ë»ö Áß¿¡ °ªÀ» Àб⸸ ÇÏ°í ¼øÂ÷ÀûÀ¸·Î °ªÀ» Á¡°ËÇϹǷΠÀÔ·Â ¹Ýº¹ÀÚ¸¦ ¿ä±¸ÇÑ´Ù. ¿øÇüÀÇ first, last¿¡ InIt¶ó´Â ¹Ýº¹ÀÚ Å¸ÀÔÀÌ ºÐ¸íÈ÷ ¸í½ÃµÇ¾î ÀÖ´Ù. ¹Ý¸é sortÀÇ ¿øÇü¿¡´Â RanIt ¹Ýº¹ÀÚ Å¸ÀÔÀÌ ¸í½ÃµÇ¾î ÀÖÀ¸¹Ç·Î ÀÌ ÇÔ¼ö·Î Á¤·ÄÀ» ÇÏ·Á¸é ÀÓÀÇ Á¢±Ù ¹Ýº¹ÀÚ¸¦ Á¦°øÇØ¾ß ÇÑ´Ù. ¾Ë°í¸®ÁòÀÌ ¿ä±¸ÇÏ´Â ¹Ýº¹ÀÚ Å¸ÀÔÀº ÃÖ¼ÒÇÑÀÇ ¿ä±¸»çÇ×À̹ǷΠ´õ »óÀ§ÀÇ ¹Ýº¹ÀÚµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÓÀÇ Á¢±Ù ¹Ýº¹ÀÚ´Â ÀÔ·Â ¹Ýº¹ÀÚÀÇ ¸ðµç ±â´ÉÀ» Áö¿øÇϹǷΠfind ¾Ë°í¸®Áò¿¡µµ ´ç¿¬È÷ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

InIt, FwdIt, RanIt µîÀÇ ¸íĪÀº »ç½Ç ÅÛÇø´ÀÇ Àμö À̸§¿¡ ºÒ°úÇÏ¸ç ¿øÇü¾Õ¿¡ ÀÏÀÏÀÌ template ±¸¹®ÀÌ µé¾î°¡¾ß ¸ÂÁö¸¸ ÇÔ¼ö¸¦ ¼Ò°³ÇÒ ¶§¸¶´Ù ÀÌ·¸°Ô ¾²¸é ³Ê¹« ¹ø°Å·Ó±â ¶§¹®¿¡ ÆíÀÇ»ó ¹Ýº¹ÀÚ Å¸ÀÔÀÇ À̸§À» Á¤ÇØ ³õ°í ÀÌ À̸§À» ÀÏ°üµÇ°Ô »ç¿ëÇÑ´Ù. ¹®¼­¿¡ µû¶ó¼­´Â InputIterator, FowardIterator, RandomIterator µî ±ä À̸§À» ¾²´Â °æ¿ìµµ Àִµ¥ ÀÌ Ã¥¿¡¼­´Â ªÀº ¾à¾î¸¦ »ç¿ëÇÏ°í ÀÖ´Ù.