/ TIL

C++ STL이란 무엇인가? - 2

C++ STL이란 무엇인가? -2

STL의 구성요소 중 컨테이너와 알고리즘을 연결해주는 것이 반복자(Iterator)이다. STL 알고리즘은 한 쌍의 반복자((begin,end))를 필요로 한다. 대부분의 알고리즘은 순방향 반복자를 요구한다. 몇몇 알고리즘은 임의 접근 반복자를 요구한다.

STL 알고리즘 분류

1) 원소를 수정하지 않는 알고리즘(nonmodifying algorithm) 2) 원소를 수정하는 알고리즘(modifying algorithm) 3) 제거 알고리즘(removing algorithm) 4) 변경 알고리즘(mutating algorithm) 5) 정렬 알고리즘(sorting algorithm) 6) 정렬된 범위 알고리즘(sorted range algorithm) 7) 수치 알고리즘(numeric algorithm)

반복자의 예

int main()
{
	vector<int> v;
    v.push_back(11);
    v.push_back(22);
    v.push_back(33);
    v.push_back(44);
    v.push_back(55);

	vector<int>::iterator iter; // 반복자만 생성
    iter = find(v.begin(),v.end(), 33); //{begin,end에서 33 찾기
    cout << *iter << endl;

    iter = find(v.begin(),v.end(), 66);
    if(iter == v.end())
    cout << "66이 없습니다" << endl;
}