添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
聪明的领结  ·  Spark分区进一步探究·  昨天    · 
踢足球的鸭蛋  ·  Using C++ shuffle - ...·  1 周前    · 
瘦瘦的小摩托  ·  random.shuffle() ...·  2 周前    · 
体贴的小马驹  ·  Troubleshooting | ...·  4 月前    · 
留胡子的电影票  ·  Use a web app ...·  5 月前    · 
帅呆的炒粉  ·  Civil Rights Act ...·  1 年前    · 
拉风的凳子  ·  1921 Census of ...·  1 年前    · 

random_shuffle不是std成员

78浏览 · 2024-09-07 15:05:24
`random_shuffle` 不是 C++ 标准库中 `std` 命名空间的一个成员函数。在早期的 C++ 标准中,`<algorithm>` 头文件中提供了 `random_shuffle` 函数,用于随机打乱序列中的元素顺序。然而,从 C++14 标准开始,`random_shuffle` 函数已被废弃,不再被包含在 C++ 标准库中。 由于 `random_shuffle` 函数的移除,开发者需要寻找其他的随机打乱序列的方法。幸运的是,C++11 引入了更好的替代方案,例如 `std::shuffle` 函数结合一个随机数生成器。`std::shuffle` 函数接受两个迭代器定义的范围以及一个随机数生成器,并使用该生成器来随机打乱范围内的元素顺序。这里是一个使用 `std::shuffle` 的例子: ```cpp #include <algorithm> #include <random> #include <vector> #include <iterator> int main() { std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::random_device rd; // 生成一个随机数种子 std::mt19937 g(rd()); // 以随机数种子初始化一个随机数生成器 // 使用std::shuffle来打乱vector中的元素顺序 std::shuffle(vec.begin(), vec.end(), g);