やや単純な質問の、私はスタンダードを使用して、ベクトルの要素の順序を回転だ::回転:ベクター要素をベクトルサイズよりも大きな値で回転しますか?
std::vector<int> V {1,2,3,4};
std::rotate(V.rbegin(), V.rbegin() + K, V.rend());
//output: {4,1,2,3}
I)は、Kが> = V.sizeある(セグメンテーションフォールトを取得しています、 1)なぜこのエラーが発生しているのですか? 2)このようなK値で回転操作を実行する方法は?例えば
、6のKべき出力{2,3,4,1}
サンプルコードで 'K'を使用していません。 V.rend()を使うのではなく、V.end()を渡すことに深く疑念があります。 –
[this](http://en.cppreference.com/w/cpp/algorithm/rotate)によると、この関数の前提条件は[first、n_first]と[n_first、last]が有効な範囲です._ –