91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++中random_shuffle的用法是什么

c++
小億
96
2023-12-05 09:04:55
欄目: 編程語言

random_shuffle是C++標準庫中的一個算法函數,用于將指定范圍內的元素隨機重排。它的用法如下:

#include <algorithm>
#include <vector>

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

    // 隨機重排numbers中的元素
    std::random_shuffle(numbers.begin(), numbers.end());

    // 輸出重排后的結果
    for (int num : numbers) {
        std::cout << num << " ";
    }

    return 0;
}

上述代碼會輸出一個隨機重排后的數字序列,例如可能的輸出為:4 3 1 5 2。

random_shuffle接受兩個迭代器參數,表示要重排的范圍。在上述例子中,我們使用了vector的begin()和end()成員函數來獲取迭代器。你也可以使用其他容器的迭代器或者普通的指針。

需要注意的是,random_shuffle是在C++11中被廢棄的,建議使用更為靈活的shuffle函數。shuffle函數的用法與random_shuffle類似,只是要額外傳入一個隨機數生成器作為第三個參數。示例代碼如下:

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

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

    // 創建一個隨機數生成器
    std::random_device rd;
    std::mt19937 gen(rd());

    // 隨機重排numbers中的元素
    std::shuffle(numbers.begin(), numbers.end(), gen);

    // 輸出重排后的結果
    for (int num : numbers) {
        std::cout << num << " ";
    }

    return 0;
}

這樣,我們就可以使用自己定義的隨機數生成器來進行重排操作,使得結果更加隨機。

0
金溪县| 东辽县| 东莞市| 沛县| 藁城市| 寻甸| 美姑县| 光泽县| 宽甸| 含山县| 文安县| 广水市| 长治县| 龙山县| 乐都县| 镇赉县| 高陵县| 读书| 奈曼旗| 云和县| 南安市| 谷城县| 大新县| 炎陵县| 项城市| 海宁市| 太仆寺旗| 五河县| 泊头市| 博湖县| 莒南县| 普陀区| 静海县| 略阳县| 荆州市| 沿河| 溆浦县| 朝阳市| 鹤庆县| 海宁市| 丰都县|