
DSSequence::rotate 함수는 C++의 STL(Standard Template Library)에서 제공하는 알고리즘 중 하나로, 벡터를 회전시키는 함수입니다. 이 함수는 기존의 벡터에 영향을 주지 않고, 새로운 벡터를 반환합니다.
rotate 함수는 3개의 인자를 받습니다. 첫 번째 인자는 회전할 벡터, 두 번째 인자는 회전할 시작 인덱스, 세 번째 인자는 회전할 끝 인덱스입니다. 예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
cpp
#include
#include
#include
int main() {
std::vector vec = {1, 2, 3, 4, 5};
std::vector rotatedVec = vec;
std::rotate(rotatedVec.begin(), rotatedVec.begin() + 1, rotatedVec.begin() + 3);
for (int i : rotatedVec) {
std::cout << i << " ";
}
return 0;
}
위의 예제에서는 1, 2, 3, 4, 5라는 벡터를 1, 3, 2, 4, 5로 회전시키는 예제입니다. rotate 함수는 기존의 벡터에 영향을 주지 않고, 새로운 벡터를 반환하기 때문에, 원본 벡터는 변하지 않습니다.
rotate 함수는 회전할 위치를 기준으로 맞춰 주지 않습니다. 대신, 회전할 시작 인덱스와 끝 인덱스를 기준으로 회전을 수행합니다. 따라서, 회전할 위치를 기준으로 맞춰 주려면, 시작 인덱스와 끝 인덱스를 조정해야 합니다.
2025-04-19 15:15