21xrx.com
2025-03-15 03:06:26 Saturday
文章检索 我的文章 写文章
C++如何生成随机数组?
2023-07-07 19:11:44 深夜i     42     0
C++ 生成 随机数组

C++作为一种高级编程语言,提供了很多方法来生成随机数组。在本文中,我们将介绍两种基本的方法来生成随机数组。

第一种方法:使用rand函数

rand函数是C++中生成随机数的基本函数。要使用rand函数生成随机数组,我们需要先设置一个种子,通常使用当前时间作为种子。

代码如下:

#include <iostream>
#include <ctime>
using namespace std;
int main()
{
  // 设置种子
  srand(time(NULL));
  
  // 生成随机数组
  const int n = 10;
  int arr[n];
  for (int i = 0; i < n; i++)
    arr[i] = rand() % 100// 生成0-99之间的随机数
  
  // 输出数组
  for (int i = 0; i < n; i++)
    cout << arr[i] << " ";
  cout << endl;
  
  return 0;
}

上述程序中,我们使用当前时间作为种子,然后生成了一个长度为10的随机数组,数组中的元素都是0-99之间的随机数。通过运行该程序,我们可以得到如下输出:

44 45 32 88 13 52 36 77 16 97

第二种方法:使用库函数

除了使用rand函数生成随机数组外,C++还提供了一些库函数来生成随机数组,这些库函数通常生成更高质量的随机数。其中,最常用的库函数是random_shuffle函数。

random_shuffle函数可以将指定范围内的元素随机重排。因此,我们可以使用该函数来生成随机数组。

代码如下:

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
  // 生成随机数组
  const int n = 10;
  int arr[n];
  for (int i = 0; i < n; i++)
    arr[i] = i; // 先生成有序数组
  
  random_shuffle(arr, arr+n); // 构造随机数组
  
  // 输出数组
  for (int i = 0; i < n; i++)
    cout << arr[i] << " ";
  cout << endl;
  
  return 0;
}

运行该程序,我们可以得到如下输出:

4 1 3 5 8 2 0 6 9 7

上述程序中,我们首先生成了一个有序数组,然后使用random_shuffle函数将其随机重排,从而生成一个随机数组。

总结

本文介绍了两种基本方法来生成随机数组。通过rand函数和库函数,我们可以很容易地生成各种随机数组。同时,为了保证生成的随机数组的质量,我们也需要注意选择合适的生成方法。

  
  

评论区

请求出错了