【发布时间】:2013-10-03 18:52:19
【问题描述】:
我有一个类包含与此问题相关的以下数据(Xpos、Ypos、时间戳)
大小为 100x100 区域(Xpos 和 Ypos),每个位置都有一个更新时间,即时间戳,然后为该类赋予一个新的时间戳以进行下一次更新。
现在我可以遍历所有这些数据点并找到时间戳已启动的任何类,并执行所需的操作。在我看来,这似乎是低效的。
替代方案我可以将它存储在一个排序列表中,时间戳是决定者,所以我只需要检查直到我发现一个尚未准备好更新的条目,更新它们并使用新的时间戳删除/读取它们。
现在我的问题是,可以通过通过 Xpos 和 Ypos 找到位置的工作流来修改预期的下一个时间戳,这意味着我必须再次遍历所有条目才能执行此操作。
我可以通过排序列表和 100x100 数组中的对象来解决这个问题,问题是通过 100x100 数组列表更新时间戳,不会更新其在排序列表中的位置。
有没有一种很好的方法来处理这种“双重排序”,而不必从时间戳触发点或从时间戳的数组更新中遍历完整列表。
【问题讨论】:
-
我正在考虑添加一个额外的类,其中包含时间和指向对象的链接,而对象包含指向此的链接。在排序列表中使用此对象。如果时间戳是从 Xpos、Ypos 引用更新的,它只是将它自己在此引用类中的链接设为空,并在列表中创建一个新条目。这将提供快速忽略的排序空链接对象。