溫馨提示×

如何正確地實現(xiàn)random_shuffle

小樊
85
2024-07-04 11:08:20
欄目: 編程語言

在C++中,可以使用標準庫中的std::random_shuffle函數(shù)來實現(xiàn)隨機打亂一個序列。下面是一個示例代碼:

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

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

    // 使用隨機數(shù)生成器對序列進行隨機打亂
    std::random_shuffle(vec.begin(), vec.end());

    // 輸出打亂后的序列
    for (int num : vec) {
        std::cout << num << " ";
    }

    return 0;
}

在上面的示例中,首先創(chuàng)建了一個包含1到5的整數(shù)序列,然后使用std::random_shuffle函數(shù)對序列進行了隨機打亂,并輸出打亂后的序列。

需要注意的是,std::random_shuffle函數(shù)在C++14中被棄用,建議使用std::shuffle函數(shù)來代替。std::shuffle函數(shù)的用法和std::random_shuffle類似,只是需要傳入一個隨機數(shù)生成器作為參數(shù),例如:

// 使用隨機數(shù)生成器對序列進行隨機打亂
std::shuffle(vec.begin(), vec.end(), std::default_random_engine());

0