📜  在C ++中使用STL随机排列数组(1)

📅  最后修改于: 2023-12-03 15:23:22.260000             🧑  作者: Mango

在C++中使用STL随机排列数组

在C++中,我们可以使用STL中的<algorithm>中的shuffle()函数来对数组进行随机排列,具体实现如下:

#include <iostream>
#include <algorithm>
#include <vector>
#include <random>

using namespace std;

int main()
{
    // 定义原始数组
    int nums[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    // 随机种子
    random_device rd;

    // 创建随机数生成器
    mt19937 g(rd());

    // 对数组进行随机排列
    shuffle(nums, nums + 10, g);

    // 输出随机排列后的数组
    for(int i = 0; i < 10; i++)
    {
        cout << nums[i] << " ";
    }

    return 0;
}

上述代码中,我们首先定义了一个包含10个元素的数组nums,然后使用random_device来生成随机种子,再使用mt19937生成随机数生成器。最后,使用shuffle()函数对数组进行随机排列。