我有一个 std::vector 我需要洗牌。它只有约 20 名成员。每次运行程序时,它还需要产生不同的 shuffle。
现在我正在使用random_shuffle
,但是每次运行程序时它都会给出相同的结果。我试过这个srand(unsigned(time(NULL)));
线程中建议的,但是,这在我的平台上不起作用。
如果可能的话,我只想使用标准代码。
编辑:这是我的实现:
vector<Tile>gameTiles;
gameTiles.push_back(Tile(0,0));
gameTiles.push_back(Tile(0,1));
gameTiles.push_back(Tile(0,2));
gameTiles.push_back(Tile(0,3));
gameTiles.push_back(Tile(0,4));
//etc. ~20 member
random_shuffle(gameTiles.begin(), gameTiles.end());