【发布时间】:2020-07-15 00:05:42
【问题描述】:
我想要做的是使用 C++ struct 来制作一个简单的地图。
例如,
如果我有
struct Map { char name; int age };
Map MapObj[] = { {'charles', 10}, {'kate', 20}, {'nate', 10} }
如何使用地图了解凯特的年龄? 我试过 MapjObj['kate'] 但它不起作用。 如何使用名称访问年龄?
【问题讨论】:
-
我的意思是最简单的方法是在内部使用
std::map但假设您出于任何原因尝试自己制作,您需要了解重载运算符 - 特别是operator[].你可以在网上找到std::map的接口,你只需要模仿它 -
“简单地图”通常通过hash map 实现。您缺少的是我们使用一种称为 Hash Function 的算法将字符串编码为数组中的唯一索引位置。
-
您是在实现红/黑树还是 B-Tree 或类似的东西?
-
你需要学习更多关于 C++ 的基础知识。了解单字符和字符串、单引号和双引号之间的区别。
-
char name;我想你也不想这样。c++中的字符串是std::strimgchar是单个字符。喜欢a
标签: c++ dictionary struct using