데이터셋을 시퀸스(연속적인)한 값으로 채우고 싶을 때는 iota 알고리즘을 사용합니다.
앞서 소개한 알고리즘들은 <algorithm> 헤더 파일에 정의 되어 있는 것에 반해 iota 알고리즘은 <numeric> 헤더 파일에 정의 되어 있습니다.
itoa
template<class ForwardIterator, class T>
void iota(ForwardIterator first, ForwardIterator last, T value);
아래는 예제 코드와 결과 입니다.
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main()
{
vector<int> Numberlist;
Numberlist.push_back( 2 );
Numberlist.push_back( 5 );
Numberlist.push_back( 7 );
iota( Numberlist.begin(), Numberlist.end(), 2 );
for( auto IterPos = Numberlist.begin(); IterPos != Numberlist.end(); ++IterPos )
{
cout << *IterPos << endl;
}
return 0;
}
< 결과 >
위 예제를 보면 아시겠지만 iota의 세 번째 인자의 값이 시작 값이고, 이후에 값이 하나씩 증가합니다.
'C++0x' 카테고리의 다른 글
[STL] 14. VC++ 10에 추가된 새로운 컨테이너 forward_list – 소개편 (1) | 2011.06.14 |
---|---|
[STL] 13. <algorithm>에 추가된 새로운 함수들 minmax_element (0) | 2011.05.30 |
[STL] 11. <algorithm>에 추가된 새로운 함수들 is_heap, is_heap_until (0) | 2011.05.11 |
[STL] 10. <algorithm>에 추가된 새로운 함수들 is_sorted, is_sorted_until (1) | 2011.04.25 |
[STL] 9. <algorithm>에 추가된 새로운 함수들 is_partitioned, partition_point (1) | 2011.04.19 |