溫馨提示×

如何正確使用C++ random_shuffle

c++
小樊
85
2024-07-21 10:12:02
欄目: 編程語言

C++中的random_shuffle函數(shù)可以用來將一個容器中的元素隨機排序。以下是一個示例代碼,展示如何正確使用random_shuffle函數(shù):

#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};

    // 設(shè)置隨機種子
    std::srand(unsigned(std::time(0)));

    // 使用random_shuffle函數(shù)隨機打亂容器中的元素
    std::random_shuffle(vec.begin(), vec.end());

    // 打印打亂后的結(jié)果
    for(auto i : vec) {
        std::cout << i << " ";
    }

    return 0;
}

在上面的示例中,首先我們創(chuàng)建了一個包含1至5的整數(shù)的vector容器,然后通過srand函數(shù)設(shè)置了隨機種子,接著使用random_shuffle函數(shù)對容器中的元素進行隨機排序,最后打印了打亂后的結(jié)果。

需要注意的是,random_shuffle函數(shù)需要包含<algorithm>頭文件,并且需要使用srand函數(shù)設(shè)置隨機種子,以確保每次運行結(jié)果都是隨機的。

另外,C++11中引入了更好的隨機數(shù)生成器,可以使用std::shuffle函數(shù)替代std::random_shuffle。

0