如何在C++中高效使用shuffle

   2024-10-06 3890
核心提示:在C++中高效使用shuffle可以使用std::shuffle函数来打乱一个序列。std::shuffle函数接受两个迭代器参数,一个是指向要打乱的序列

在C++中高效使用shuffle可以使用std::shuffle函数来打乱一个序列。std::shuffle函数接受两个迭代器参数,一个是指向要打乱的序列的起始位置的迭代器,另一个是指向要打乱的序列的末尾位置的迭代器。此外,还需要一个随机数生成器作为第三个参数。

以下是一个示例代码:

#include <iostream>#include <algorithm>#include <vector>#include <random>int main() {    std::vector<int> nums = {1, 2, 3, 4, 5};    // 使用默认的随机数生成器    std::random_device rd;    std::mt19937 gen(rd());    // 打乱序列    std::shuffle(nums.begin(), nums.end(), gen);    // 输出打乱后的序列    for (int num : nums) {        std::cout << num << " ";    }    std::cout << std::endl;    return 0;}

在上面的示例中,我们使用std::random_device生成随机种子,然后使用std::mt19937作为随机数生成器,并将其传递给std::shuffle函数来打乱序列nums。最后,我们输出打乱后的序列。

使用std::shuffle函数可以高效地打乱一个序列,而不需要手动实现打乱算法。同时,通过传递不同的随机数生成器,可以获得不同的随机结果。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号