我目前正在构建一个程序,用于计算 n 维中的 self 回避行走。 该程序必须有一个它以前访问过的坐标列表。 对于已知的最大维数,我会简单地制作一个位置结构的 vector :
struct Position
{
long int x;
long int y;
long int z;
long int w;
etc...
}
std::vector<Position> history;
Position currentSite;
但是当为 n 维位置编程时,我不确定如何在不创建大小为 n*walk_length 的数组的情况下进行编程。
有没有更“正确”的方法呢?
注意:我正在用 C++ 编程。
最佳答案
如果n
在编译时已知,您可以使用 std::array<long,n>
代表一个立场。
如果n
直到运行时才知道,std::vector<long>
会是一个不错的选择。
关于c++ - 允许 n 维坐标的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19956452/