我想进行类似于 std::rotate
的旋转但以middle
的方式迭代器将成为新的最后一个元素而不是新的第一个元素
最佳答案
然后你只需要跟在 middle
迭代器之后的元素成为新的开始。将其旋转为 middle
。例如
template <class ForwardIterator>
void rotate_last(ForwardIterator first, ForwardIterator middle, ForwardIterator last)
{
ForwardIterator itn(middle);
if (middle != last)
{
std::advance(itn, 1);
}
if (itn != last)
{
std::rotate(first, itn, last);
}
}
关于c++ - 旋转到容器的末端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22439059/