std::rotate 是 C++ 标准库中的一个算法函数,它的作用是将一个范围内的元素向左或向右旋转,使某个元素成为新的起始点。它会重新排列指定范围内的元素,但不会改变元素的顺序结构。
函数签名:
template <class ForwardIt>
ForwardIt rotate(ForwardIt first, ForwardIt middle, ForwardIt last);
参数说明:
first: 指向要旋转的范围的起始位置。
middle: 指向新的起始点,即旋转后第一个元素的位置。
last: 指向要旋转的范围的结束位置(不包括)。
返回值:
std::rotate 返回旋转后原始范围中最初位于 middle 位置的元素的新位置。
举个例子:
假设你有一个整数数组 [1, 2, 3, 4, 5],并希望将数组旋转,使得元素 3 成为第一个元素。