我正在尝试旋转C++中元素的 vector 。我的意思是,我有一个vector<point>,我希望最后一个元素成为第一个。
例子:

为此,我尝试执行以下操作:

//Add the last element at index 0
ObjectToRotate.insert(0, ObjectToRotate.at(ObjectToRotate.size()-1));
//Remove Last element
ObjectToRotate.erase(ObjectToRotate.size()-1);
但是我得到这个错误:

我该如何解决?

最佳答案

标准库中有一个 std::rotate algorithm:

std::rotate(ObjectToRotate.begin(),
            ObjectToRotate.end()-1, // this will be the new first element
            ObjectToRotate.end());

关于c++ - 旋转 vector (数组),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11343116/

10-09 06:35