注册 登录
编程论坛 C++教室

关于使用random_shuffle生成的无重复随机数一些疑问

fallenpeanut 发布于 2015-05-21 18:35, 919 次点击
需要在1~m的整数范围内生成n个无重复随机数输出,想用random_shuffle(),把m个整数shuffle一下,取前n个,但是实际运行后发现,每次shuffle生成的数字序列相同,请问如何修改程序可以使每次shuffle得到的整数序列不同?谢谢!

这个是将1-10,这10个数字随机重排的程序
#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;
 
int main()
{
     vector<int> temp;
     for (int i = 0; i < 10; ++i)
     {
        temp.push_back(i+1);
     }
 
     random_shuffle(temp.begin(), temp.end());
 
     for (int i = 0; i<temp.size(); ++i)
    {
         cout<<temp[i]<<"";
     }
    return 0;
}

[ 本帖最后由 fallenpeanut 于 2015-5-21 18:38 编辑 ]
2 回复
#2
rjsp2015-05-21 20:07
srand 设置随机数种子
#3
fallenpeanut2015-05-21 20:35
回复 2楼 rjsp
好了,谢谢!
1