gpt4 book ai didi

c++ - 在成对的 vector 中查找元素的索引

转载 作者:行者123 更新时间:2023-12-01 13:37:57 25 4
gpt4 key购买 nike

如标题所述,我试图在成对的 vector 中找到元素的索引。我有以下 vector :std::vector<std::pair<std::string, double>> dict .
我的字典的内容是:

Name1 11
Name2 9
Name3 10
Name4 12
Name5 13
为了找到索引,我所拥有的只是 first pair 的属性.例如我有 Name5我想找到 4。(因为 Name5 是第五个元素)。
有谁知道该怎么做?
我尝试了一些东西,但似乎不起作用:
auto it = std::find(dict.begin(), dict.end(), movieName);
哪里 movieNamestd::string"Name5"里面。
谢谢!

最佳答案

您可以使用谓词来决定 vector 中的哪些条目应该匹配。使用 lambda 最容易做到这一点:

auto it = std::find_if(dict.begin(), dict.end(),
[&](const auto& pair) { return pair.first == movieName; });
获得迭代器后,将其与 dict.end() 进行比较查看是否有任何匹配项,如果有匹配项,您可以使用 std::distance() 将其转换为 vector 的索引,如 d4rk4ng31 在问题下评论的那样。

关于c++ - 在成对的 vector 中查找元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62627343/

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