擅长:python、mysql、java
<p>你为什么不把问题翻过来?将网格信息存储在房屋上,而不是将房屋/对象信息存储在网格上。
你可以有一个代表网格的二维数组,然后在每个单元格,你有你想要的信息,也就是在那个单元格中的对象,这取决于你是否有一个对象的通用集合,或者像字典一样把它们分开,在那里你有房子,宠物,汽车的标签。你知道吗</p>
<p>一些psudo代码:</p>
<pre><code>for x in grid:
for cell in x:
#here you have the cell:
for obj in cell.objs:
if (obj is House):
do stuff
</code></pre>
<p>当然,如果你对你想做的事情有更深入的了解,你可以优化你在单元格内的搜索,比如:</p>
<pre><code>for x in grid:
for cell in x:
#here you have the cell:
for h in cell.objs["houses"]:
do stuff
</code></pre>
<p>当然,您仍然可以在house类中保存坐标信息。
以这种方式放置数据,即使分布不均匀,也可以很容易地遍历房屋,还可以进行查找邻居等操作</p>