C++のrandom_shuffle()関数の使い方解説
random_shuffle()関数は、指定された範囲内の要素をランダムに並び替えるために使用されます。
関数の定義:
template <class RandomAccessIterator>
void random_shuffle(RandomAccessIterator first, RandomAccessIterator last);
パラメーターの説明:
- ランダムアクセスイテレーター:並べ替える必要のある要素の範囲の開始イテレーター。
- 最初に、要素の並べ替えを行う範囲の開始位置です。
- ラスト:再配置する要素の範囲の終了位置で、その位置の要素は含まれません。
Example of use:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 重排整个向量
std::random_shuffle(vec.begin(), vec.end());
// 输出重排后的结果
for (auto num : vec) {
std::cout << num << " ";
}
return 0;
}
結果を出力します。
4 3 1 2 5
random_shuffle()関数は、指定された範囲内の要素をランダムに並べ替えます。並べ替えの結果は、毎回異なる可能性があります。上記の例では、出力結果は元のベクトル{1, 2, 3, 4, 5}をランダムに並べ替えたものです。
random_shuffle()関数は、ランダムアクセスイテレータ(RandomAccessIterator)にしか適用されないことに注意する必要があります。他の種類のコンテナには、同様の操作を行うshuffle()関数を使用することができます。