将一个序列打乱并对其进行随机的重新排列,每种序列的被选择概率要一样。
解决办法就是:Fisher_Yates算法:
#include<ctime>
#include<algorithm>
void Random_shuffle(int a[], int len)
{
srand(time(NULL));
for (int i = 1; i < len; i++)
std::swap(a[i], a[rand() % (i + 1)]);
}