如何正确地实现random_shuffle

avatar
作者
筋斗云
阅读量:4

在C++中,可以使用标准库中的std::random_shuffle函数来实现随机打乱一个序列。下面是一个示例代码:

#include <iostream> #include <algorithm> #include <vector>  int main() {     std::vector<int> vec = {1, 2, 3, 4, 5};      // 使用随机数生成器对序列进行随机打乱     std::random_shuffle(vec.begin(), vec.end());      // 输出打乱后的序列     for (int num : vec) {         std::cout << num << " ";     }      return 0; } 

在上面的示例中,首先创建了一个包含1到5的整数序列,然后使用std::random_shuffle函数对序列进行了随机打乱,并输出打乱后的序列。

需要注意的是,std::random_shuffle函数在C++14中被弃用,建议使用std::shuffle函数来代替。std::shuffle函数的用法和std::random_shuffle类似,只是需要传入一个随机数生成器作为参数,例如:

// 使用随机数生成器对序列进行随机打乱 std::shuffle(vec.begin(), vec.end(), std::default_random_engine()); 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!