对于一个数组a,我想打乱它原有的顺序,那么可以用该函数。
注意,如果要真正的随机,需要srand(time(NULL))操作,因为random_shuffle用的是随机数发生器,还记得rand()吗,如果不srand随机数种子,得到的随机数是固定的。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[1024];
for(int i=0;i<1024;i++)a[i]=i;
srand(time(NULL));
random_shuffle(a,a+1024);
//以上代码能得到一个permutation。
return 0;
}
版权声明:本文为weixin_44925547原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。