관리 메뉴

Kim's Programming

Algorithm - search_n() 본문

STL - Algorithm/Algorithm - Non-Modifying

Algorithm - search_n()

Programmer. 2016. 2. 11. 16:29

소스)


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
#include<iostream>
#include<algorithm>
#include<vector>
bool search_n_bool(int i, int j)
{
    if (i == j + 1)
        return true;
    return false;
}
 
int main()
{
    std::vector<int> Vector = { 1,1,3,3,4,4,5,5,6,6,6,7,7,7,7};
 
    std::vector<int>::iterator Iter;
    Iter = std::search_n(Vector.begin(), Vector.end(), 37);
    if (Iter != Vector.end())
        std::cout << "Array Position -->" << Iter - Vector.begin() << std::endl;
    else
        std::cout << "not found" << std::endl;
 
    Iter = std::search_n(Vector.begin(), Vector.end(), 2,4,search_n_bool);
 
    if (Iter != Vector.end())
        std::cout << "Array Position -->" << Iter - Vector.begin() << std::endl;
    else
        std::cout << "not found" << std::endl;
}
cs


내용)


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


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

        w와 x 사이에 있는 데이터들 중에서 y개의 z가 있는 곳의 제일 앞쪽을 가리키는 iterator를 리턴합니다. 없다면 end()를 리턴합니다.

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

        v와 w 사이에 있는 데이터들 중에서 z에 부합하는 x개의 y가 있으면 그곳의 제일 앞쪽을 가리키는 iterator를 리턴합니다. 없다면 end()를 리턴합니다.

결과)




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

Algorithm - any_if()  (0) 2017.07.13
Algorithm - all_of()  (0) 2017.07.13
Algorithm - search()  (0) 2016.02.11
Algorithm - is_permutation()  (0) 2016.02.07
Algorithm - equal()  (0) 2016.02.07