gpt4 book ai didi

c++ - 如何存储允许 O(1) 随机访问的 3d map ? (C++)

转载 作者:搜寻专家 更新时间:2023-10-31 01:01:16 25 4
gpt4 key购买 nike

我目前正在为 Minecraft 制作一个 C++ 客户端/机器人,我想知道是否有一种方法可以使用允许高效随机访问的数据结构,使用 STL 或 Qt 库来存储世界地图。

世界始终是 256 高,但在 x 和 z 坐标上可以无限大。它被发送到包含 16x256x16 block block 的数据包中。现在我将 16x256x16 部分中的 block 存储到数组中,因为大小永远不会改变,并且我使用成对的 x 和 z 作为键将这些部分存储到 STL 映射中。

问题是我目前正在做AI,需要经常访问 map ,所以我想知道是否有更好的方法可以存储它以提高访问效率。我不关心添加或删除元素的效率。它也不需要排序。

最佳答案

您想使用 STL std::unordered_map,这会给您 O(1)

关于c++ - 如何存储允许 O(1) 随机访问的 3d map ? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29461703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com