对于一个数组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;
}