관리 메뉴

Kim's Programming

Algorithm - find_first_of() 본문

STL - Algorithm/Algorithm - Non-Modifying

Algorithm - find_first_of()

Programmer. 2016. 2. 7. 03:00

소스)


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
#include<vector>
#include<iostream>
#include<algorithm>
 
bool find_first(int i,int j)
{
    if (i == j)
        return true;
    return false;
}
 
void main()
{
    std::vector<int> Vector = { 1,3,5,7,9,11,13,15 };
    std::vector<int>::iterator Iter;
    std::vector<int>::iterator Iter2;
    int Array[] = { 3,5,};
 
    Iter = std::find_first_of(Vector.begin(), Vector.end(), Array, Array + 3);
    if (Iter != Vector.end())
        std::cout << "First match ->" << *Iter << std::endl;
    else
        std::cout << " No Data" << std::endl;
 
    int Array2[] = { 11,13 };
 
    Iter2 = std::find_first_of(Vector.begin(), Vector.end(), Array2, Array2 + 3,find_first);
    if (Iter2 != Vector.end())
        std::cout << "First match ->" << *Iter2 << std::endl;
    else
        std::cout << " No Data" << std::endl;
 
}
cs


내용)


find_first_of()함수는 파라메터에 따라서 다른 기능을 합니다.


    1. find_first_of(w,x,y,z)

      이터레이터 x가 가리키는 지점부터 이터레이터 y가 가리키는 지점 사이의 데이터들 중에서 y와 z 사이의 문자들과 같은 데이터가 있다면 w,x 사이에서 같은 부분의 제일 앞을 가리키는 iterator를 리턴하며 값이 없으면 end()를 리턴합니다.

    2. find_first_of(v,w,x,y,z)

      이터레이터 v가 가리키는 지점부터 이터레이터 w가 가리키는 지점 사이의 데이터들 중에서 x와 y 사이의 문자들과 z에 부합하여 true를 리턴하는 값들이 존재하는 경우에 v,w 사이에서 같은 부분의 제일 앞을 가리키는 iterator를 리턴하며 값이 없으면 end()를 리턴합니다.


결과)





'STL - Algorithm > Algorithm - Non-Modifying' 카테고리의 다른 글

Algorithm - equal()  (0) 2016.02.07
Algorithm - mismatch()  (0) 2016.02.07
Algorithm - count_if()  (0) 2016.02.07
Algorithm - count()  (0) 2016.02.07
Algorithm - adjacent_find()  (0) 2016.02.07