rotate_copy
rotate_copy (회전 복사)
범위를 회전시킨 결과를 새 목적지에 복사하는 알고리즘이에요. 원본은 그대로 두고요. <algorithm> 헤더에 있어요.
출처: cppreference
본문
rotate_copy는 [first, middle)과 [middle, last)를 바꾼 순서로 d_first에 복사해요.
template< class ForwardIt, class OutputIt >
OutputIt rotate_copy( ForwardIt first, ForwardIt middle, ForwardIt last,
OutputIt d_first );
- 반환 값: 마지막으로 복사한 원소 다음 반복자.
std::vector<int> v{1, 2, 3, 4, 5};
std::vector<int> out(5);
std::rotate_copy(v.begin(), v.begin() + 2, v.end(), out.begin());
// out == {3,4,5,1,2}
원본을 보존하며 회전된 결과를 새 컨테이너에 담을 때 써요.