【发布时间】:2014-04-16 22:59:55
【问题描述】:
我有一张数据地图;关键是std::string。我想对它进行二分查找,但我不能只使用std::map::find(),因为我只会提供一部分密钥。
假设我有一张包含以下键的地图:
["abc"] -> ...
["efg"] -> ...
["ijk"] -> ...
["iik"] -> ...
我想通过这个搜索,假设只提供"i",搜索应该返回:
["ijk"] -> ..., ["iik"] -> ...
这可能吗?我曾尝试使用迭代器来执行此操作,但失败了,因为我不能将它们视为索引。
注意:由于其他原因,我将数据保存在地图中,因此我不想将其更改为不同的数据结构。
【问题讨论】:
-
像往常一样,通过一个小代码示例展示您实际尝试过的内容!
标签: c++ c++11 dictionary containers binary-search