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。这很容易实现,网上有很多例子。但是,如果您正在学习,那么最好从头开始编程,而不是盲目地复制别人的代码。
正如标题所说,我正在尝试找到一种对数组进行洗牌的方法。 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。这很容易实现,网上有很多例子。但是,如果您正在学习,那么最好从头开始编程,而不是盲目地复制别人的代码。