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

标签 linux sorting ubuntu random gprof

当我尝试为各种排序算法生成随机值以对它们进行 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/

相关文章:

linux - 在 Redhat Linux 64 位上构建 DBD::SQlite

linux - 从 Linux 命令行发送 SNMP 陷阱消息

linux - 在 Fedora 8 Core 上运行 startupscript

database - 更新排序列表

由于握手问题,PerL SSL 连接尝试失败

python - 为什么在并行写入文件时看不到交错行?

c - C中节点交换位置

java - 以最后一个元素排序

python - 如何将多个字符串传递给Python程序

ubuntu - 如何从另一台机器访问在我的 minikube 集群中运行的应用程序?