random_shuffle
是 C++98 中的一個函數,用于對序列進行隨機排序
以下是一個使用 C++11 和 std::shuffle
的示例:
#include<iostream>
#include<vector>
#include<random>
#include<algorithm>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
// 創建一個隨機數生成器
std::random_device rd;
std::mt19937 g(rd());
// 使用自定義隨機數生成器對向量進行隨機排序
std::shuffle(v.begin(), v.end(), g);
for (int i : v) {
std::cout << i << ' ';
}
std::cout << '\n';
return 0;
}
在這個示例中,我們首先包含了必要的頭文件,然后創建了一個包含整數的向量。接著,我們創建了一個基于 Mersenne Twister 算法的隨機數生成器 g
,并使用 std::random_device
為其提供種子。最后,我們使用 std::shuffle
函數和自定義的隨機數生成器 g
對向量進行隨機排序。