ranges::rotate

ranges::rotate (회전 — ranges)

범위의 요소를 특정 위치를 기준으로 회전(왼쪽 이동)시키는 ranges 버전 알고리즘이에요. <algorithm> 헤더에 있어요.

출처: cppreference

본문

std::ranges::rotate는 범위를 middle을 기준으로 회전시켜요. [middle, last) 구간이 앞으로 오고 [first, middle) 가 뒤로 와요.

namespace std::ranges {
template< std::permutable I, std::sentinel_for<I> S >
constexpr ranges::subrange<I> rotate( I first, I middle, S last );
}
  • 반환 값: subrange<I>로, 원래 첫 요소가 새로 놓인 위치를 가리켜요.
std::vector<int> v{1, 2, 3, 4, 5};
std::ranges::rotate(v, v.begin() + 2);
// v == {3,4,5,1,2}

배열의 요소를 왼쪽으로 밀어 문자의 시작점을 바꾸거나 큐를 회전시킬 때 쓰는 ranges 버전이에요.

더 알아보기 (Learn more)

cppreference