产生随机数(随机数)

产生大量测试用的随机数

  • 最近学了排序算法,有的需要大量数据来测试算法复杂度,自己定义又太麻烦,所以看了一种产生随机大小,可控范围的数组来进行测试。
  • 用到了随机数的两个函数,rand和srand 具体的可以自行查阅。
  • rand() :不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数
  • srand() :srand函数是随机数发生器的初始化函数。
    原型:void srand(unsigned seed);seed的作用:srand函数的作用是根据参数seed,设置一个随机起始点,而rand函数根据这个起始点,产生随机数序列。默认的随机种子为1。如果随机种子一样,rand函数所产生的随机序列也一样。
#include<bits/stdc++.h>
using namespace std;

int *RandomArray(int n,int rangL,int rangR )//n为产生随机数的数量,rangL和rangR为随机数的范围,返回值类型为指针

{
    int *arr = new int [n];
    srand(time(NULL));//使用当前时间进行随机数发生器的初始化
    for(int i = 0;i< n;i++)
    {
        arr[i] = rand() % (rangR - rangL+ 1) + rangL;
    }

    return arr;//return 的也是指针
}

int main()
{
//这里也可以定义n ,rangL和rangR。然后产生的随机数组类型也可以直接改。
    int *arr= RandomArray(15, 2,100);

    for(int i=0;i<15;i++)
        cout<<arr[i]<<" ";
delete[] arr;//防止内存泄露


}


欢迎大家指正!

发布了18 篇原创文章 · 获赞 0 · 访问量 264

猜你喜欢

转载自blog.csdn.net/qq_42815711/article/details/104214847