random_shuffle(random_shuffle的用法是什么)

发布时间:2025-12-11 02:00:04 浏览次数:1

random_shuffle是一个函数,用于将一个序列中的元素进行随机重排。它可以应用于数组、向量、字符串等容器,使用随机数生成器对容器中的元素进行重新排列。

random_shuffle的用法如下:

C++标准库使用:
#include <algorithm>#include <ctime>  // 用于生成随机数种子int main() {std::vector<int> vec = {1, 2, 3, 4, 5};// 设置随机数种子std::srand(unsigned(std::time(0)));// 随机重排容器中的元素std::random_shuffle(vec.begin(), vec.end());// 输出结果for (const auto& num : vec) {std::cout << num << " ";}return 0;}

输出结果可能为:3 1 4 5 2

自定义随机数生成器:
#include <algorithm>#include <vector>#include <random>  // 用于生成随机数种子int main() {std::vector<int> vec = {1, 2, 3, 4, 5};// 设置随机数生成器std::random_device rd;std::mt19937 g(rd());// 随机重排容器中的元素std::random_shuffle(vec.begin(), vec.end(), g);// 输出结果for (const auto& num : vec) {std::cout << num << " ";}return 0;}

输出结果可能为:4 1 3 5 2

注意:C++11标准中已将random_shuffle标记为已废弃,建议使用shuffle函数替代。

random_shuffle
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477