添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
谦逊的毛豆  ·  random_shuffle函数-CSDN博客·  2 天前    · 
聪明的领结  ·  Spark分区进一步探究·  2 周前    · 
近视的大象  ·  在IDEA中 ...·  2 月前    · 
深沉的牙膏  ·  ASP.NET Web Forms - ...·  4 月前    · 
怕考试的仙人球  ·  Processing ...·  7 月前    · 

[c++11][stl][shuffle]随机重排列

参考: std::shuffle

c++ 实现了 shuffle 函数用于随机重新排列指定范围内的元素,使用均匀随机数发生器

// shuffle algorithm example
#include <iostream>     // std::cout
#include <algorithm>    // std::shuffle
#include <array>        // std::array
#include <random>       // std::default_random_engine
#include <chrono>       // std::chrono::system_clock
int main() {
    std::array<int, 5> foo{1, 2, 3, 4, 5};
    // obtain a time-based seed:
    long seed = std::chrono::system_clock::now().time_since_epoch().count();
    shuffle(foo.begin(), foo.end(), std::default_random_engine(seed));
    std::cout << "shuffled elements:";
    for (int &x: foo) std::cout << ' ' << x;
    std::cout << '\n';
    return 0;