温馨提示×

如何正确地实现random_shuffle

小樊
81
2024-07-04 11:08:20
栏目: 编程语言

在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());

0