21xrx.com
2024-12-26 03:42:44 Thursday
登录
文章检索 我的文章 写文章
如何在C++中随机打乱数组?
2023-07-11 20:58:20 深夜i     --     --
C++ 随机 打乱 数组

在C++中,我们可以通过调用库函数 `shuffle()` 来随机打乱数组。该函数需要传递三个参数:数组的起始地址、数组的结束地址和一个随机数生成器(可以通过函数 `random_device` 生成)。

以下是使用 `shuffle()` 函数随机打乱数组的示例代码:


#include <iostream>

#include <algorithm>

#include <random>

using namespace std;

int main()

{

  int arr[] = 3;

  int n = sizeof(arr) / sizeof(arr[0]);

  // 生成随机数生成器

  random_device rnd;

  // 调用shuffle()函数打乱数组

  shuffle(arr, arr + n, rnd);

  // 输出打乱后的数组

  for (int i = 0; i < n; i++) {

    cout << arr[i] << " ";

  }

  return 0;

}

运行上述代码,可以得到输出:


4 1 9 5 2 3 8 6 7

可以看到,数组中的元素已经被随机打乱。

需要注意的是,该函数在打乱数组时是完全随机的,可能会导致打乱后的数组不符合特定的需求,因此在实际使用中需要谨慎考虑。如果需要进行某些特定的排序,可以使用其他排序算法来实现。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复