中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C++中shuffle和隨機數

c++
小樊
92
2024-07-13 04:36:30
欄目: 編程語言

在C++中,可以使用std::shuffle函數來打亂一個序列中的元素順序。std::shuffle函數接受一個指向要打亂的序列的起始迭代器和一個指向序列末尾的迭代器,以及一個隨機數生成器作為參數。下面是一個示例代碼:

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

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

    // 打亂vec中的元素順序
    std::random_device rd;
    std::mt19937 g(rd());
    std::shuffle(vec.begin(), vec.end(), g);

    for (int i : vec) {
        std::cout << i << " ";
    }
    
    return 0;
}

在上面的示例中,我們先創建了一個包含1到5的整數的vector。然后使用std::random_device生成一個隨機種子,std::mt19937初始化一個隨機數生成器,最后使用std::shuffle函數打亂vector中的元素順序。

除了使用std::shuffle函數,我們還可以使用C++標準庫中的隨機數生成器來生成隨機數。例如,可以使用std::uniform_int_distribution來生成一個指定范圍內的隨機整數。下面是一個示例代碼:

#include <iostream>
#include <random>

int main() {
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<int> dis(1, 10);

    for (int i = 0; i < 10; ++i) {
        int rand_num = dis(gen);
        std::cout << rand_num << " ";
    }

    return 0;
}

在上面的示例中,我們使用std::uniform_int_distribution生成1到10之間的隨機整數,并使用std::mt19937作為隨機數生成器。在循環中生成10個隨機數并輸出到控制臺。

0
昌都县| 抚松县| 延庆县| 黄浦区| 全椒县| 孟津县| 沧州市| 长武县| 天门市| 神池县| 丰都县| 崇明县| 墨脱县| 磐石市| 金沙县| 阜南县| 佛山市| 凤翔县| 南郑县| 绥中县| 望江县| 唐河县| 金阳县| 哈巴河县| 怀仁县| 盐城市| 丰城市| 秭归县| 绵竹市| 紫金县| 阜宁县| 闽侯县| 汾西县| 湾仔区| 龙门县| 石台县| 民勤县| 普宁市| 曲周县| 习水县| 临城县|