我在C++中有矢量代码,如下所示:
for(int i=0;i<10000;i++)
{
vec.push_back(i);
}
Run Code Online (Sandbox Code Playgroud)
现在,vec中的值按照[0,9999]范围内的排序顺序排列,并且是唯一的.如何以未排序的方式生成[0,9999]范围内的相同唯一数据.
请帮助我.
使用标准库执行此操作的前C++ 11方法是:
for(int i=0;i<10000;i++)
{
vec.push_back(i);
}
//http://www.cplusplus.com/reference/algorithm/random_shuffle/
std::random_shuffle(vec.begin(), vec.end());
Run Code Online (Sandbox Code Playgroud)
C++ 11/14有更好的随机数生成器,但std::shuffle()应该优先使用.
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |