37-2-´Ù.¾Ë°í¸®Áò

STLÀÇ ¾Ë°í¸®Áò ÇÔ¼öµéÀº ´ëºÎºÐ ƯÁ¤ ÄÁÅ×À̳ÊÀÇ ¸â¹ö ÇÔ¼ö°¡ ¾Æ´Ñ ÀÏ¹Ý Àü¿ª ÇÔ¼ö·Î ÀÛ¼ºµÇ¾î ÀÖ´Ù. ¿Ö³ÄÇÏ¸é ¹Ýº¹ÀÚ¿¡ ÀÇÇØ ÄÁÅ×À̳ʸ¦ ´Ù·ç´Â ¹æ¹ýÀÌ ÀϹÝÈ­µÇ¾î ¸ðµç ÄÁÅ×À̳ʿ¡ ´ëÇØ Àû¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¸â¹ö ÇÔ¼ö°¡ µÉ Çʿ䵵 ¾ø°í ¸â¹ö ÇÔ¼ö°¡ µÇ¾î¼­µµ ¾ÈµÈ´Ù. STLÀº ÀϹÝÈ­µÈ ¾Ë°í¸®ÁòÀ» Á¦°øÇϹǷΠĸ½¶È­¸¦ Àû±ØÀûÀ¸·Î »ç¿ëÇÏÁö ¾Ê´Â´Ù. ÄÁÅ×ÀÌ³Ê Å¬·¡½ºµéÀº Ç¥ÇöÇϰíÀÚ ÇÏ´Â ÀÚ·á ±¸Á¶¸¦ À§ÇÑ µ¥ÀÌÅÍ ¸â¹ö¿Í ¿¬»êÀÚ¸¸À» Á¤ÀÇÇÏ¸ç ¾Ë°í¸®Áò ±¸ÇöÀº ¹Ýº¹ÀÚ¿Í Àü¿ª ÇÔ¼ö¿¡°Ô ¸Ã±ä´Ù.

¾Ë°í¸®Áò ÇÔ¼öµéÀº ´ëºÎºÐ algorithm Çì´õ ÆÄÀÏ¿¡ Á¤ÀǵǾî ÀÖÀ¸¹Ç·Î ¾Ë°í¸®Áò ÇÔ¼ö Áß Çϳª¶óµµ »ç¿ëÇÏ·Á¸é ÀÌ Çì´õ ÆÄÀÏÀ» Æ÷ÇÔÇØ¾ß ÇÑ´Ù. ¿¹»óÇÒ ¼ö ÀÖ°ÚÁö¸¸ ÀÌ Çì´õ ÆÄÀÏ¿¡´Â STLÀÇ ¸ðµç ¾Ë°í¸®ÁòÀÌ Á¤ÀǵǾî ÀÖÀ¸¹Ç·Î ±²ÀåÈ÷ ±æÀ̰¡ ±æ´Ù. ½Ã°£ÀÌ Çã¶ôÇÑ´Ù¸é ÇÑ ¹øÂë µé¿©´Ù º¼¸¸ÇÑ Çì´õ ÆÄÀÏÀÌ´Ù. ¾Ë°í¸®Áò ÇÔ¼ö Áß °¡Àå ÈçÇÏ°Ô »ç¿ëµÇ´Â °ÍÀº ÄÁÅ×À̳ʿ¡ ƯÁ¤°ªÀÌ Á¸ÀçÇÏ´ÂÁö¸¦ ã´Â find ÀÌ´Ù. ¿øÇüÀº ´ÙÀ½°ú °°´Ù.

 

template<typename InIt, class T>

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

 

ÀÓÀÇÀÇ ¸ðµç ŸÀÔ¿¡ ´ëÇØ µ¿ÀÛÇÒ ¼ö ÀÖ¾î¾ß ÇϹǷΠSTL ¾Ë°í¸®Áò ÇÔ¼öµéÀº ¿¹¿Ü¾øÀÌ ÅÛÇø´À¸·Î ±¸ÇöµÇ¾î ÀÖ´Ù. findÀÇ °æ¿ì °Ë»öÁß¿¡ »ç¿ëÇÒ ¹Ýº¹ÀÚ¿Í ÄÁÅ×À̳ÊÀÇ ¿ä¼Ò ŸÀÔÀ» ÅÛÇø´ Àμö·Î ¹Þ¾Æµé¿© ±¸Ã¼È­µÈ´Ù. ±×·¡¼­ º¤ÅÍµç ¸®½ºÆ®µç ÇØ´ç ÄÁÅ×À̳ÊÀÇ ¹Ýº¹ÀÚ¸¸ Àü´ÞÇÏ¸é µÇ°í ¿ä¼Ò°¡ Á¤¼öÇüÀ̵ç TimeÀ̳ª PersonÀÌµç °¡¸®Áö ¾Ê°í °Ë»öÀ» ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ÅÛÇø´À¸·Î Àü´ÞµÇ´Â Àμö´Â InIt, OutIt, T µîÀÇ À̸§À¸·Î ÀϰüµÇ°Ô Ç¥½ÃµÇ¹Ç·Î ÀÌÈÄ ¾Ë°í¸®Áò ÇÔ¼ö¸¦ ¼Ò°³ÇÒ ¶§ template¹®Àº »ý·«Çϱâ·Î ÇÑ´Ù.

find´Â first ~ last »çÀÌÀÇ ¹Ýº¹ÀÚ ±¸°£¿¡¼­ TÇüÀÇ °ª valÀÌ ÀÖ´ÂÁö °Ë»çÇÑ´Ù. ¹ß°ßµÇ¸é ÇØ´ç À§Ä¡ÀÇ ¹Ýº¹ÀÚ°¡ ¸®ÅÏµÇ¸ç ¹ß°ßµÇÁö ¾ÊÀ» °æ¿ì ÄÁÅ×ÀÌ³Ê Àüü¸¦ ¼øÈ¸¸¸ Çϰí Á¾·áµÇ¹Ç·Î ±¸°£ÀÇ ³¡ÀÎ last°¡ ¸®ÅϵȴÙ. C ÇÔ¼öµéÀº °Ë»ö¿¡ ½ÇÆÐÇÒ °æ¿ì NULLÀ» ¸®ÅÏÇÏÁö¸¸ STLÀº °Ë»ö ½ÇÆÐÁ¶Â÷µµ ¹Ýº¹ÀÚ·Î ¸®ÅÏÇÑ´Ù.

¹Ýº¹ÀÚ¸¸À¸·Î ¿ä¼Ò¸¦ ÀÐÀ» ¼ö ÀÖ°í ÀÌ ¿ä¼Ò¸¦ val°ú ºñ±³ÇÒ ¼ö ÀÖÀ¸¸ç ºñ±³ ¹üÀ§µµ ¸íÈ®ÇÏ°Ô Àü´ÞµÇ¾úÀ¸¹Ç·Î find°¡ ÄÁÅ×À̳ʿ¡ ´ëÇÑ Á¤º¸¸¦ Àü´Þ¹ÞÀ» ÇÊ¿ä´Â ¾ø´Ù. ÄÁÅ×À̳ʰ¡ ¾î¶² ½ÄÀÇ ±¸Á¶¸¦ °¡Áö´ÂÁö ¸ð¸£¹Ç·Î find´Â °¡Àå °£´ÜÇÏ°í ¾î¶² ÇüÅÂÀÇ ÀÚ·á¿¡³ª »ç¿ëÇÒ ¼ö ÀÖ´Â ¼øÂ÷ °Ë»ö ¹æ¹ýÀ» »ç¿ëÇÑ´Ù. ¿¹Á¦¸¦ ÀÛ¼ºÇØ º¸ÀÚ.

 

¿¹ Á¦ : find

#include <iostream>

#include <vector>

#include <list>

#include <algorithm>

using namespace std;

 

void main()

{

     int ari[]={1,2,3,4,5};

     vector<int> vi(&ari[0],&ari[5]);

     list<int> li(&ari[0],&ari[5]);

 

     puts(find(vi.begin(),vi.end(),4)==vi.end() ? "¾ø´Ù.":"ÀÖ´Ù.");

     puts(find(li.begin(),li.end(),8)==li.end() ? "¾ø´Ù.":"ÀÖ´Ù.");

     puts(find(&ari[0],&ari[5],3)==&ari[5] ? "¾ø´Ù.":"ÀÖ´Ù.");

}

 

º¤ÅÍ¿Í ¸®½ºÆ®, ´Ü¼ø ¹è¿­¿¡ ´ëÇØ find·Î ¿©·¯ °¡Áö °ªµéÀ» °Ë»öÇØ º¸¾Ò´Ù. Å©±â°¡ ÀÛÀº ÄÁÅ×À̳ʶó °á°ú°¡ »·È÷ º¸ÀδÙ.

 

ÀÖ´Ù.

¾ø´Ù.

ÀÖ´Ù.

 

ÄÁÅ×À̳ʿ¡ »ó°ü¾øÀÌ °Ë»ö ¹æ¹ýÀÌ ¶È°°´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. °Ë»ö ¹üÀ§¸¦ ÁöÁ¤ÇÏ´Â ¹Ýº¹ÀÚ¿Í Ã£°íÀÚ ÇÏ´Â °ª¸¸ Àμö·Î Àü´ÞÇϴµ¥ ¿¹Á¦¿¡¼­´Â ÄÁÅ×ÀÌ³Ê Àüü ¹üÀ§¿¡ ´ëÇØ Á¤¼ö°ªÀ» °Ë»öÇß´Ù. ÄÁÅ×À̳ÊÀÇ ³»ºÎ ±¸Á¶°¡ ´Þ¶óµµ ¹Ýº¹ÀÚ¿¡ ÀÇÇØ ÀÐ°í ´ÙÀ½ ¿ä¼Ò·Î À̵¿ÇÒ ¼ö Àֱ⠶§¹®¿¡ ¶È°°Àº ¾Ë°í¸®Áò ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. algorithm Çì´õ ÆÄÀÏÀ» µÚÁ® º¸¸é ´ÙÀ½Ã³·³ Á¤ÀǵǾî ÀÖ´Â find ÇÔ¼ö¸¦ º¼ ¼ö ÀÖ´Ù.

 

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

{

     for (;first != last; ++first) {

          if (*first == val) break;

     }

     return first;

}

 

first¸¦ °è¼Ó Áõ°¡½ÃŰ¸é¼­ last¿¡ À̸¦ ¶§±îÁö ¼øÈ¸ÇÏ¸ç ¼øÈ¸ Áß¿¡ *¿¬»êÀÚ·Î firstÀÇ °ªÀ» Àоî val°ú °°ÀºÁö¸¦ Á¡°ËÇÑ´Ù. °Ë»öµÇ¾ú´Ù¸é ÀÌ »óÅ¿¡¼­ ·çÇÁ¸¦ ºüÁ® ³ª¿Í first¸¦ ¸®ÅÏÇÏ¸ç °Ë»ö¿¡ ½ÇÆÐÇß´Ù¸é first°¡ last±îÁö À̵¿ÇÑ Ã¤·Î ¸®Å쵃 °ÍÀÌ´Ù. ¾Ë°í¸®ÁòÀÇ ½ÇÁ¦ ±¸ÇöÀº ÄÄÆÄÀÏ·¯¸¶´Ù Á¶±Ý¾¿ ´Ù¸¥µ¥ À§ ÄÚµå´Â ºñÁÖ¾ó C++ÀÇ °ÍÀ̰í gcc´Â find¸¦ ´ÙÀ½°ú °°ÀÌ ±¸ÇöÇϰí ÀÖ´Ù.

 

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

{

     while(first != last && *first != val) ++first;

     return first;

}

 

³¡¿¡ µµ´ÞÇϰųª °Ë»öÇÏ´Â °ªÀ» ãÀ» ¶§±îÁö ¹«Á¶°Ç ÀüÁø À̵¿ÇÏ´Ù°¡ ·çÇÁ°¡ ³¡³µÀ» ¶§ÀÇ ¹Ýº¹ÀÚ¸¦ ¸®ÅÏÇÑ´Ù. µÎ ±¸ÇöÀÇ ÄÚµå´Â Á¶±Ý ´Ù¸£Áö¸¸ ÇÏ´Â ÀÏÀº »ç½Ç»ó µ¿ÀÏÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ¾Ë°í¸®ÁòÀÌ ¾î¶»°Ô ±¸ÇöµÇ¾î ÀÖµçÁö ¾Ë°í¸®Áò º»Ã¼¿¡¼­ »ç¿ëÇÏ´Â ++, !=, * ¿¬»êÀÚ¸¦ ¸ðµç ¹Ýº¹ÀÚ°¡ Áö¿øÇϹǷΠ°Ë»ö ¾Ë°í¸®ÁòÀÌ È¹ÀÏÀûÀ¸·Î Á¤ÀǵȴÙ. ´Ù¸¥ ¾Ë°í¸®Áòµµ ¿ø¸®´Â µ¿ÀÏÇѵ¥ ³»ºÎ°¡ ±Ã±ÝÇϸé Ç×»ó Çì´õ ÆÄÀÏÀ» ÀÐ¾î º¸µµ·Ï ÇÏÀÚ.

°Ë»ö ´ÙÀ½À¸·Î ¸¹ÀÌ »ç¿ëµÇ´Â ¾Ë°í¸®ÁòÀº ÀڷḦ ÀÏÁ¤ÇÑ ±âÁØ¿¡ µû¶ó Àç¹èÄ¡ÇÏ´Â Á¤·ÄÀÌ´Ù. ÄÁÅ×À̳ʳ»ÀÇ ¸ðµç ¿ä¼ÒµéÀ» ¿©·¯ ¹ø ºñ±³ÇÏ°í °á°ú¿¡ µû¶ó ¿ä¼Ò¸¦ ±³È¯ÇÏ´Â °úÁ¤À» Á¤·Ä ¿Ï·áµÉ ¶§±îÁö ¹Ýº¹ÇØ¾ß ÇÏ´Â ²Ï º¹ÀâÇÑ ¿¬»êÀÌ´Ù. ÀÌ·± ¿¬»êµµ sort ÇÔ¼ö Çϳª¸¸ »ç¿ëÇÏ¸é ½±°Ô ¼öÇàÇÒ ¼ö ÀÖ´Ù. sortÀÇ ¿øÇüÀº ´ÙÀ½°ú °°´Ù.

 

void sort(RanIt first, RanIt last);

 

ÀÌ ÇÔ¼ö´Â Àμö·Î ÁÖ¾îÁø first ~ last »çÀÌÀÇ ¸ðµç ¿ä¼Ò¸¦ Á¤·ÄÇÑ´Ù. Á¤·ÄÀ» Çϱâ À§Çؼ­´Â °´Ã¼µéÀ» ºñ±³ÇØ¾ß Çϴµ¥ sort ÇÔ¼ö´Â Á¤·Ä Áß¿¡ < ¿¬»êÀÚ·Î ¿ä¼ÒÀÇ ¼øÀ§¸¦ ÆÇ´ÜÇÑ´Ù. µû¶ó¼­ Á¤·Ä ´ë»ó ¿ä¼ÒµéÀº < ¿¬»êÀÚ¸¦ ¹Ýµå½Ã Á¤ÀÇÇØ¾ß ÇÑ´Ù. Á¤¼ö, ½Ç¼ö µîÀÇ ±âº» ŸÀÔÀº < ¿¬»êÀÚ·Î ºñ±³ÇÒ ¼ö ÀÖÀ¸¹Ç·Î Ç×»ó Á¤·Ä °¡´ÉÇÏ¸ç »ç¿ëÀÚ°¡ Á¤ÀÇÇÑ Å¬·¡½º¶óµµ < ¿¬»êÀÚ°¡ ¿À¹ö·ÎµùµÇ¾î ÀÖÀ¸¸é ÀÌ ÇÔ¼ö·Î Á¤·Ä °¡´ÉÇÏ´Ù.

 

¿¹ Á¦ : sort

#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

 

void main()

{

     int ari[]={2,8,5,1,9};

     vector<int> vi(&ari[0],&ari[5]);

 

     sort(vi.begin(),vi.end());

     vector<int>::iterator it;

     for (it=vi.begin();it!=vi.end();it++) {

          printf("%d\n",*it);

     }

}

 

º¤ÅÍ¿¡ ´Ù¼¸ °³ÀÇ Á¤¼ö¸¦ ³Ö¾î µÎ°í sort ÇÔ¼ö·Î Á¤·ÄÇÑ ÈÄ Ãâ·ÂÇØ º¸¾Ò´Ù. ¿À¸§Â÷¼øÀ¸·Î Á¤·ÄµÇ¾î Ãâ·ÂµÉ °ÍÀÌ´Ù.

 

1

2

5

8

9

 

Á¤·ÄÀº ¿ö³« ÈçÇÑ ¿¬»êÀÌ¶ó ±²ÀåÈ÷ ¸¹Àº ¾Ë°í¸®ÁòÀÌ °³¹ßµÇ¾î ÀÖ´Ù. STLÀÇ sort ÇÔ¼ö´Â ±× Áß °¡Àå ºü¸£´Ù°í Á¤ÆòÀÌ ³­ Äü ¼ÒÆ® ¾Ë°í¸®ÁòÀ» »ç¿ëÇϴµ¥ ¾Õ¿¡¼­ °øºÎÇØ ºÁ¼­ ¾Ë°ÚÁö¸¸ Äü ¼ÒÆ® ¾Ë°í¸®ÁòÀº ±×´ÙÁö °£´ÜÇÏÁö ¾Ê´Ù. ÀÌ·± ¾Ë°í¸®ÁòÀ» ¹üÀ§¸¸ Àü´ÞÇÏ¸é °øÂ¥·Î ¾µ ¼ö ÀÖ´Ù´Â °ÍÀÌ STLÀÇ ¸Å·ÂÀÌ´Ù. °¡Àå ±âº»ÀûÀÎ µÎ °³ÀÇ ¾Ë°í¸®Áò¿¡ ´ëÇØ ¿¹Á¦¸¦ ¸¸µé¾î ºÃ´Âµ¥ ¸î °¡Áö¸¸ ´õ ±¸°æÇØ º¸ÀÚ.

 

void reverse(BiIt first, BiIt last);

 

reverse ÇÔ¼ö´Â À̸§´ë·Î ÁöÁ¤ÇÑ ±¸°£ÀÇ ¿ä¼Òµé ¼ø¼­¸¦ ¹Ý´ë·Î µÚÁý´Â´Ù. begin°ú end¸¦ ±¸°£À¸·Î ÁöÁ¤Çϸé ÄÁÅ×À̳ÊÀÇ ¸ðµç ¿ä¼Òµé ¼ø¼­°¡ ¹Ý´ë·Î ¹Ù²ð °ÍÀÌ´Ù. ÄÁÅ×À̳ÊÀÇ ÀϺΠ±¸°£¸¸ ¹Ý´ë·Î µÚÁýÀ» ¼öµµ ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â ¹è¿­ÀÇ Áß°£ ºÎºÐ ¿ä¼ÒµéÀ» ¹Ý´ëÀÇ ¼ø¼­·Î µÚÁý´Â´Ù.

 

¿¹ Á¦ : reverse

#include <iostream>

#include <algorithm>

using namespace std;

 

void main()

{

     int ari[]={1,2,3,4,5,6,7,8,9};

     int i;

 

     for (i=0;i<9;i++) printf("%d ",ari[i]);puts("");

     reverse(&ari[2],&ari[6]);

     for (i=0;i<9;i++) printf("%d ",ari[i]);puts("");

}

 

2¹øÂ° ¿ä¼Ò ~ 5¹øÂ° ¿ä¼Ò±îÁöÀÇ ¼ø¼­°¡ ¹Ý´ë·Î µÚÁý¾îÁø´Ù. Áï ari[2]´Â ari[5]¿Í ±³È¯µÇ°í ari[3]Àº ari[4]¿Í ±³È¯µÈ´Ù.

 

1 2 3 4 5 6 7 8 9

1 2 6 5 4 3 7 8 9

 

ÀÌ ÇÔ¼ö°¡ ³»ºÎ¿¡¼­ ¾î¶² 󸮸¦ ÇÒ °ÍÀΰ¡´Â ¾î·ÆÁö ¾Ê°Ô ÃßÃøÇÒ ¼ö ÀÖÀ¸¸ç Á÷Á¢ ¸¸µç´Ù ÇÏ´õ¶óµµ ±×´ÙÁö ¿À·£ ½Ã°£ÀÌ °É¸®Áö´Â ¾ÊÀ» °ÍÀÌ´Ù. ¸¸µé¾î ¾²´Â °ÍÀÌ ¾î·Á¿ö¼­°¡ ¾Æ´Ï¶ó ¸Å¹ø ¸¸µé±â´Â ±ÍÂúÀº ÀÛ¾÷À̶ó°í ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ÇÔ¼ö´Â ÄÁÅ×À̳ÊÀÇ ±¸°£³» ¿ä¼Ò¸¦ ¹«ÀÛÀ§·Î ¸¶±¸ ¼¯´Â´Ù.

 

void random_shuffle(RanIt first, RanIt last);

 

°ÔÀÓÀ» ¸¸µé ¶§ ÀÌ ÇÔ¼ö°¡ ÀÚÁÖ »ç¿ëµÇ´Âµ¥ ÆÛÁñÀ̳ª Ä«µåÆÐ¸¦ »ç¿ëÀÚ°¡ ¿¹ÃøÇÏÁö ¸øÇϵµ·Ï ÇÒ ¶§ ¹«ÀÛÀ§ ¼¯±â ±â´ÉÀÌ »ç¿ëµÈ´Ù. ¿¹Á¦¸¦ º¸ÀÚ.

 

¿¹ Á¦ : shuffle

#include <iostream>

#include <vector>

#include <algorithm>

#include <time.h>

using namespace std;

 

void main()

{

     int i;

     vector<int> vi(20);

     vector<int>::iterator it;

    

     for (i=0;i<20;i++) vi[i]=i;

     srand(time(NULL));

     random_shuffle(vi.begin(),vi.end());

     for (it=vi.begin();it!=vi.end();it++) {

          cout << *it << ' ';

     }

     cout << endl;

}

 

º¤ÅÍ¿¡ 0~19±îÁöÀÇ Á¤¼ö¸¦ Â÷·Ê´ë·Î Áý¾î ³Ö°í random_shuffle ÇÔ¼ö·Î ¼¯¾ú´Ù. ÀÌ ÇÔ¼ö°¡ ³»ºÎÀûÀ¸·Î ³­¼ö¸¦ »ç¿ëÇϹǷΠ³­¼ö ¹ß»ý±â´Â ¸ÕÀú ÃʱâÈ­ÇØ ³õ¾Æ¾ß ÇÑ´Ù. ¸Å ½ÇÇàÇÒ ¶§¸¶´Ù ¼¯ÀÌ´Â °á°ú´Â ´Þ¶óÁø´Ù.

 

6 9 15 12 16 2 11 1 8 5 3 13 14 4 7 0 19 10 18 17

 

´Ü ÇϳªÀÇ ÇÔ¼ö È£Ãâ·Î ÆÐ¸¦ ¿ÏÀüÈ÷ ¼¯À» ¼ö ÀÖ´Ù. STL¿¡´Â ÀÌ ¿Ü¿¡µµ ¾öû³ª°Ô ¸¹Àº ¾Ë°í¸®Áò ÇÔ¼öµéÀÌ Á¦°øµÇ´Âµ¥ ´ë·« 60¿©°³ Á¤µµ µÇ¸ç ¾ÕÀ¸·Î Á¡Á¡ ´õ ´Ã¾î³¯ °ÍÀÌ´Ù. °¢ ÇÔ¼öº° »ç¿ë¿¹´Â õõÈ÷ ¿¬±¸ÇØ º¸µµ·Ï Çϰí ÀÏ´Ü µµÇ¥·Î °£´ÜÇÏ°Ô ¸ñ·Ï¸¸ Á¤¸®ÇØ º¸ÀÚ. ¾çÀÌ ¸¹¾ÆÁú ¶§´Â ´ëÃæ ´«¿¡¸¸ ÀÍÇô µÎ°í ÇÊ¿äÇÒ ¶§ ·¹ÆÛ·±½º¸¦ ÂüÁ¶ÇÏ´Â °ÍÀÌ ÈξÀ ´õ Çö¸íÇÑ Ã³»ç´Ù.

 

ÇÔ¼ö

¼³¸í

count

Á¶°Ç¿¡ ¸Â´Â ¿ä¼ÒÀÇ °³¼ö¸¦ ¼¾´Ù.

for_each

°¢ ¿ä¼Ò¿¡ ´ëÇØ ÁöÁ¤ÇÑ ÀÛ¾÷À» ÇÑ´Ù.

equal

±¸°£ÀÌ ÀÏÄ¡ÇÏ´ÂÁö ºñ±³ÇÑ´Ù.

search

ÀÏÄ¡ÇÏ´Â ºÎºÐ ±¸°£À» °Ë»öÇÑ´Ù.

copy

±¸°£³¢¸® º¹»çÇÑ´Ù.

fill

ÀÏÁ¤ÇÑ °ªÀ¸·Î ÁöÁ¤ ±¸°£À» ä¿î´Ù.

reverse

±¸°£ÀÇ ¿ä¼ÒµéÀ» ¹Ý´ë·Î µÚÁý´Â´Ù.

random_shuffle

¿ä¼ÒµéÀ» ¹«ÀÛÀ§·Î ¼¯´Â´Ù.

swap

ÄÁÅ×À̳ʸ¦ ±³È¯ÇÑ´Ù.

binary_search

À̺Р°Ë»öÇÑ´Ù.

merge

±¸°£À» º´ÇÕÇÏ¿© »õ·Î¿î ±¸°£À¸·Î º¹»çÇÑ´Ù.

accumulate

±¸°£ÀÇ °ªÀ» ¸ðµÎ ÇÕÇÑ´Ù.

 

¿Ø¸¸Å­ Á÷°ü·ÂÀÌ ÀÖ´Â »ç¶÷Àº ÇÔ¼ö À̸§À¸·ÎºÎÅÍ ±â´ÉÀ» ´ëÃæ À¯ÃßÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. copy´Â º¹»çÇÏ´Â °ÍÀÌ¿ä fillÀº ä¿ì´Â °ÍÀ̰í swapÀº ±³È¯ÇÏ´Â °ÍÀ̰í merge´Â º´ÇÕÇÏ´Â °ÍÀÌ´Ù. ÇÊ¿äÇÒ ¶§¸¶´Ù ÀÌ·± ¾Ë°í¸®ÁòÀ» ÀÏÀÏÀÌ ¸¸µå´Â °Íº¸´Ù´Â Ç¥ÁØ ¾Ë°í¸®ÁòÀÇ »ç¿ë ¹æ¹ýÀ» ´ëÃæÀÌ¶óµµ ¾Ë¾Æ µÎ´Â °ÍÀÌ ½Ã°£ Àý¾à°ú ü·Â º¸Á¸¿¡ À¯¸®ÇÏ´Ù.