jma*_*erx 5 c++ data-structures
对于我的游戏,当一个对象进入传感器时,我需要将它添加到一个列表中,当对象离开传感器时,需要从该列表中删除它.我还需要能够快速找到该对象.
基本上:
我需要这样做:快速添加,快速删除和快速查找.
鉴于在任何给定时间,结构将具有大约10个对象,那么什么样的数据结构将是最佳的.
谢谢
对于10个对象,任何东西都可以做(std::vector
,deque
或set
),并且在分析之前没有人能分辨出哪个对象表现得更好.
如果你不知道该使用什么,也许你会发现它std::set
有一个更好的语法来查找元素.这就是我在这种情况下会使用的,因为我不想写std::find(v.begin(), v.end(), sensor)
我可以写的地方s.find(sensor)
.
不要使用std::list
,作为一般建议.你需要一个令人信服的理由在C++中使用链表(常量时间拼接是一个,没有迭代器失效是另一个).其他数据结构对大多数操作(拼接除外)表现更好.在这里,我没有看到任何使用list
而不是例如.set
.