Random_shuffle C++Builder6 中的备选方案

Random_shuffle alternative in C++Builder6

正如标题所说,我正在尝试找到一种对数组进行洗牌的方法。 C++Builder好像没有random_shuffle(),我也不知道怎么弄。

我在 google 上找不到很多关于这个程序的信息。更具体地说,我正在尝试做一个有 16 对的记忆匹配游戏。我尝试实现一些东西来给每张卡片一个随机位置(位置 0、1、2、.. 等),但我不知道如何在不复制值的情况下做到这一点。

所以我看到的最简单的方法是创建一个数组 a[]={0,1,2,...31} 并以某种方式改组值。有可能做这样的事情吗?如果没有,我还有其他选择吗?

我希望我的问题是可以理解的。

The C++ Builder doesn't seem to have random_shuffle()

是的,确实如此。确保您的代码中有 #include <algorithm>

随机排列数组的标准算法是Fisher-Yates algorithm。这很容易实现,网上有很多例子。但是,如果您正在学习,那么最好从头开始编程,而不是盲目地复制别人的代码。