我正在研究一个问题并在C++中实现一个算法。该算法需要一个数据结构,其中它类似于二维数组(例如20x20数组)。主要的不同之处在于每个细胞必须连接八个细胞周围(即上,下,左,右和四角)。C++中的数据结构
每个成员的状态将根据邻居的数据更改而改变。所以,每个细胞都在动态增长。每个小区都需要不断检查其所有邻居的数据。
基于这个要求,我想象这个数据结构是圆形的,就像一个没有边的圆环或百吉饼,这样每个单元就相互连接了。
关于这个数据结构表示的任何想法?我正在考虑使用邻接链表的列表,其中每个成员都包含周围八个邻居的链表。你怎么看?我在正确的轨道上吗?
选择数据结构的标准之一是如何使用它。 –
“我在正确的轨道上吗?”是。 – axiom
我不确定是否有足够的信息可以帮助。在二维数组中寻找相邻的邻居看起来微不足道,即使你想包装边缘。 –