洗牌算法
看面经的时候看到有洗牌算法的问题 题意就很简单 把 54 张扑克牌进行重排 使每张牌在每个位置上等概率的出现 是个小清新算法了 QAQ
#include <bits/stdc++.h>
using namespace std;
int a[110];
void init() {
for(int i = 0; i < 54; i ++)
a[i] = i;
}
int main() {
init();
srand((unsigned int)time(NULL));
int temp = 54;
while(temp) {
swap(a[rand() % temp], a[temp - 1]);
temp --;
}
for(int i = 0; i < 54; i ++)
printf("%d\n", a[i]);
return 0;
}

浙公网安备 33010602011771号