两个索引之间向量的反转元素

Pra*_*hul -2 c++ vector

我想反转向量的两个特定位置之间的元素,这是我的代码:

std::vector<int> shuffleState(std::vector<int> deck, int numberOfRiffleShuffles) {
if (numberOfRiffleShuffles%2 !=0)
std::reverse(deck.begin()+1, deck.end()-1);
return deck;
}
Run Code Online (Sandbox Code Playgroud)

编译器说:

undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

您能告诉我代码有什么问题吗,我可以做什么来解决这个“问题”。

Pao*_*o M 5

您应该传递给std::reverse几个双向迭代器

std::reverse( d.begin() + 1, d.end() - 1 );
Run Code Online (Sandbox Code Playgroud)

这将反转除vector第一个和最后一个元素之外的所有元素。