algorithm 해더를 추가하면 신기한 함수들을 사용이 가능한데,
이들은 STL의 컨테이너들을 대상으로 원하는 값을 검사 수행 하는 일들을한다.
간략하게 예제를 살펴 보자.
#include <iostream>
#include <vector>
#include <algorithm> // 알고리즘에 관련된 해더
void main()
{
std::vector<int> coll;
std::vector<int>::iterator pos;
// 값을 삽입 후에
coll.push_back(2);
coll.push_back(5);
coll.push_back(4);
coll.push_back(1);
coll.push_back(6);
coll.push_back(3);
// 최소값
pos = min_element( coll.begin(), coll.end() );
std::cout << "min : " << *pos << std::endl;
// 최대값을 찾아서 화면에 출력한다.
pos = max_element( coll.begin(), coll.end() );
std::cout << "max : " << *pos << std::endl;
// coll전체를 정렬 한 후
sort( coll.begin(), coll.end() ); // 현재 1 2 3 4 5 6
// 3의 주소를 pos가 기억
pos = find( coll.begin(), coll.end(), 3 ); // 1 2 3 4 5 6, pos = 3의 위치
// 3의 주소 부터, 끝까지 뒤집는다.
reverse( pos, coll.end() ); // 1 2 3(pos) 4 5 6 -> 1 2 6(pos) 5 4 3
// 화면에 출력
for( pos=coll.begin(); pos!= coll.end(); ++pos )
std::cout << *pos << ' ';
std::cout << std::endl;
}
// 결과
// 1 2 6 5 4 3
'프로그래밍 > STL' 카테고리의 다른 글
함수객체 (0) | 2010.04.19 |
---|---|
연관 컨테이너 - Set, Map, multiSet, multiMap (0) | 2010.04.08 |
iterator - 반복자 (0) | 2010.04.08 |
시퀀스 컨테이너 - vector, list, deque (0) | 2010.04.05 |
용어적 설명. (0) | 2010.04.05 |