gpt4 book ai didi

linux - random() 在 Linux 中函数相同的值(同时 grof ing)

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:24 24 4
gpt4 key购买 nike

当我尝试为各种排序算法生成随机值以对它们进行 gprof 并比较结果时,我注意到 random() 函数在实例中以相同的顺序创建相同的值。有没有办法摆脱它?

示例,我尝试分析冒泡排序,随机创建 10000 个值并对它进行冒泡排序,现在当我给出 10000 个值时,它会生成与之前相同的值集并按相同的顺序生成。

当我将值更改为 1000 时,之前测试的前 1000 个值与本例完全相同。我用不同的可能性更改了值的范围,例如仅正整数和正整数、负整数。 random() 函数生成相同值的原因是什么?有办法解决吗?

最佳答案

当您使用随机时,您需要提供种子,否则您将始终得到相同的结果。常用的种子是当前时间。

如下所示:How to generate a random number in C?

#include <time.h>
#include <stdlib.h>

srand(time(NULL)); // should only be called once
int r = rand(); // returns a pseudo-random integer between 0 and RAND_MAX

关于linux - random() 在 Linux 中函数相同的值(同时 grof ing),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44948633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com