我正在寻找一种非常快速的算法来返回存储在像set<pair<string,string>>
这样的集合中的对的值
更具体地说,我查找所有第二个值,其中first-value以字符串开头。
实施例: 我有一套这些配对:
<"asdf","qwer">,
<"asdfghj", "qwertyui">,
<"lkj","mno">
然后我用&#34; asdf&#34;来调用我的方法。我想要找回这些字符串的集合或向量:
"qwer"
"qwertyui"
谢谢!
答案 0 :(得分:8)
您在std::set
中存储对的事实意味着它们将按键排序。您可以使用std::set::lower_bound()
查找第一个元素,该元素具有按字典顺序大于或等于搜索键的键,然后迭代直到该条件不再有效。