C++
[C++] reverse_iterator 컨테이너 구현
다크엔지니어
2022. 2. 20. 20:35
반응형
역방향 반복자라고 하며,
기본 iterator에 반복자 어댑터 reverse_iterator 를 이용해 정방향 반복자를 역방향 반복자로 변환할 수 있다.
sort, for_each 를 확인해 보고, 그 결과를 비교해 볼 것이다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int FSort(int nVal, int nVal2)
{
return (nVal > nVal2);
}
void FPrint(int nVal)
{
cout << nVal << endl;
}
int main(void)
{
vector<int> vecVal;
vecVal.push_back(10);
vecVal.push_back(49);
vecVal.push_back(5);
vecVal.push_back(14);
vecVal.push_back(1);
//sort(vecVal.begin(), vecVal.end());
sort(vecVal.begin(), vecVal.end(), FSort);
for_each(vecVal.begin(), vecVal.end(), FPrint);
reverse_iterator<vector<int>::iterator> rBegin(vecVal.end());
reverse_iterator<vector<int>::iterator> rEnd(vecVal.begin());
for (; rBegin != rEnd; ++rBegin)
{
cout << *rBegin << endl;
}
getchar();
return 1;
}
반응형