´ÙÀ½ ÇÔ¼öµéÀº ¹Ýº¹ÀÚ ±¸°£¿¡¼ ´Ù¸¥ ±¸°£ Àüü°¡ ¹ß°ßµÇ´Â ÁöÁ¡À» °Ë»öÇÑ´Ù. ¹®ÀÚ¿¿¡¼ ºÎºÐ ¹®ÀÚ¿ÀÇ ÃÖÃÊ À§Ä¡¸¦ °Ë»öÇÏ´Â strstr ÇÔ¼ö¿Í À¯»çÇÑ µ¿ÀÛÀ» Ç쵂 ÀÓÀÇ Å¸ÀÔ¿¡ ´ëÇØ ºÎºÐ °Ë»öÀÌ °¡´ÉÇÏ´Ù´Â Á¡¿¡¼ ÈξÀ ´õ ÀϹÝÀûÀÌ´Ù.
FwdIt1 search(FwdIt1 first1, FwdIt1 last1, FwdIt2 first2, FwdIt2 last2 [, BinPred F]);
FwdIt1 find_end(FwdIt1 first1, FwdIt1 last1, FwdIt2 first2, FwdIt2 last2 [,BinPred F]);
FwdIt1 search_n (FwdIt1 first1, FwdIt1 last1, Size count, const Type& val[, BinPred F]);
first1~last1 Àüü ±¸°£¿¡¼ first2~last2 ±¸°£°ú ÀÏÄ¡ÇÏ´Â ÆÐÅÏÀ» ã¾Æ ±× ¹Ýº¹ÀÚ¸¦ ¸®ÅÏÇÑ´Ù. search´Â Àüü ±¸°£ÀÇ ¾ÕÂÊ¿¡¼ºÎÅÍ °Ë»öÀ» Çϰí find_end´Â Àüü ±¸°£ÀÇ µÚÂÊ¿¡¼ºÎÅÍ °Ë»öÀ» ÇÑ´Ù. µÎ ÇÔ¼ö°¡ °Ë»ö ½ÃÀÛ ¹æÇ⸸ Ʋ¸± »ÓÀÌ´Ù. find_endÀÇ À̸§À» search_end³ª search_reverse·Î Áö¾ú´Ù¸é ÈξÀ ´õ ÀÌÇØÇϱ⠽¬¿üÀ»ÅÙµ¥ ÇÔ¼öÀÇ À̸§ÀÌ ´Ù¼Ò ºÎÀûÀýÇÏ°Ô ºÙ¿©Á® ÀÖ´Ù.
ºÎºÐ °Ë»öÀÌ ³í¸®ÀûÀ¸·Î Àǹ̰¡ ÀÖÀ¸·Á¸é Àüü ±¸°£ÀÌ ºÎºÐ ±¸°£º¸´Ù´Â ´õ ±æ¾î¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é °Ë»öÀº Ç×»ó ½ÇÆÐÇÒ °ÍÀÌ´Ù. Àüü ±¸°£À» ³¡±îÁö °Ë»öÇߴµ¥ ºÎºÐ ±¸°£ÀÌ ¹ß°ßµÇÁö ¾ÊÀ¸¸é last1ÀÌ ¸®ÅϵȴÙ. search_nÀº ¹Ýº¹ÀÚ ±¸°£¿¡¼ val °ªÀÌ count¹ø ¿¬¼ÓÀ¸·Î ³ªÅ¸³ª´Â ÁöÁ¡À» ã´Â´Ù.
¿¹ Á¦ : search |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void main()
{
int ar1[]={3,1,4,1,5,9,2,6,5,3,5,8,9,9,9,3,2,3,1,5,9,2,6,4,3};
int ar2[]={1,5,9};
int *p;
p=search(&ar1[0],&ar1[25],&ar2[0],&ar2[3]);
if (p!=&ar1[25]) {
printf("%d¹øÂ°¿¡¼ ±¸°£ÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù.\n",p-ar1);
}
p=find_end(&ar1[0],&ar1[25],&ar2[0],&ar2[3]);
if (p!=&ar1[25]) {
printf("%d¹øÂ°¿¡¼ ±¸°£ÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù.\n",p-ar1);
}
p=search_n(&ar1[0],&ar1[25],3,9);
if (p!=&ar1[25]) {
printf("%d¹øÂ°¿¡¼ 3¿¬¼ÓÀÇ 9¸¦ ¹ß°ßÇß½À´Ï´Ù.\n",p-ar1);
}
}
Á¤¼ö ¹è¿ ar1¿¡ ÀÏ·ÃÀÇ Á¤¼ö¸¦ ÃʱâÈÇØ ³õ°í ÀÌÁß 1,5,9°¡ ¿¬¼ÓÀ¸·Î ³ªÅ¸³ª´Â ±¸°£ÀÌ ÀÖ´ÂÁö °Ë»öÇØ º¸¾Ò´Ù.
3¹øÂ°¿¡¼ ±¸°£ÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù.
18¹øÂ°¿¡¼ ±¸°£ÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù.
12¹øÂ°¿¡¼ 3¿¬¼ÓÀÇ 9¸¦ ¹ß°ßÇß½À´Ï´Ù.
ar1¿¡´Â 1,5,9°¡ µÎ ¹ø ³ªÅ¸³ª´Âµ¥ search´Â ¾ÕÂÊÀÇ 1,5,9 ±¸°£À» ã°í find_end´Â µÚÂÊÀÇ 1,5,9 ±¸°£À» ã´Â´Ù.
¼ø¹æÇâÀ¸·Î °Ë»öÇÑ´Ù¸é search ÇÔ¼ö¸¦ »ç¿ëÇÏ°í ¿ª¹æÇâÀ¸·Î °Ë»öÇÑ´Ù¸é find_end ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é µÈ´Ù. find_end¸¦ ¹®ÀÚ¿¿¡ ´ëÇØ Àû¿ëÇÏ¸é ¿ª¹æÇâÀ¸·Î ´Ü¾î ã±â¸¦ ¼öÇàÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Âü°í·Î ¿ä¼Ò Çϳª¸¦ ã´Â find ÇÔ¼ö´Â ¿ª¹æÇâ °Ë»ö ÇÔ¼ö°¡ µû·Î Á¸ÀçÇÏÁö ¾Ê´Â´Ù. ±×·¸´Ù°í ÇØ¼ ¿ª¹æÇâ °Ë»öÀ» ÇÏÁö ¸øÇÏ´Â °ÍÀº ¾Æ´Ï°í ¿ª¹æÇ⠹ݺ¹ÀÚ¸¦ »ç¿ëÇÏ¸é ³¡¿¡¼ºÎÅÍ ¾ÕÂÊÀ¸·Î °Ë»öÇÒ ¼ö ÀÖ´Ù.
search_nÀº 9°¡ 3¹ø ¿¬¼ÓÀ¸·Î ³ª¿À´Â ±¸°£À» ã´Â´Ù. Á¶°ÇÀÚ¸¦ ÁÖ¸é Æ¯Á¤ Á¶°ÇÀ» ¿¬¼ÓÀûÀ¸·Î ¸¸Á·ÇÏ´Â ±¸°£À» ãÀ» ¼ö Àִµ¥ ¿¹¸¦ µé¾î ¿¬¼ÓÀûÀ¸·Î ¹è¼ö °ü°è¸¦ ¸¸Á·ÇÏ´Â ÀÏ·ÃÀÇ ¿ä¼Ò ±×·ìÀ» ãÀ» ¼ö ÀÖ´Ù.