C++ rand() 每个数字只出现一次

标签 c++ random numbers srand

我需要像 rand() 这样的东西,但我只想要每个数字一次。

在示例中,我有 10 个“.txt”文件,它们被命名为数字 (1-10)。 我想读取里面的内容并对其进行计算,但是是随机的。

我不想要 1.txt -> 2.txt -> 3.txt -> ... 但是一些随机的东西,比如

5.txt -> 4.txt -> 1.txt -> ...

每个数字只能出现一次

有没有一种“简单”的方法可以做到这一点?

string Path = "./Questions_Niko/" + random + ".txt"; 

最佳答案

创建一个 vector你想要和使用的号码 std::shuffle .

然后按顺序遍历 vector 。

关于C++ rand() 每个数字只出现一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23767143/

相关文章:

c++ - std::set 中的 unique_ptr 无法找到 operator< 即使它在那里

c++ - 如何创建自定义随机分布函数?

python - 跨多列的 Pandas 代表性抽样

java - Java 中的整数

c++ - 在 C++ 中,加载是否可以在获取操作下方滑动/存储可以在释放上方 float 吗?

C++ 多线程 - 带条件变量的 channel

python - 从目录中选择随机文件的最佳方法

python - 在Python 3中判断一个数字是否是平方数的最快方法是什么

c++ - C++ 中的超长类型,我可以为大型计算创建自己的超长类型吗?

c++ - cvQueryFrame() 在文件结束前返回 NULL