C++:是否可以在向量/容器中搜索特定的字符串/值并返回其索引?

use*_*199 0 c++ sorting vector

我将不胜感激一些与向量中的数据操作相关的建议.

我编写的代码导致了两组向量:字符串(标签/名称)和双精度(数据).对于每次计算,字符串向量中的标签顺序可能不同.

这就是我想做的事情.假设向量中的一个元素(标签)是:Tom.我想知道是否可以在字符串/标签向量中搜索"Tom",并在向量中返回Tom的位置索引.

这听起来在C++中是否可行?我会很感激任何提示.谢谢.

vis*_*ssi 7

你应该用std::map它.


Eri*_*rik 7

使用 std::find

vector<string>::iterator it = std::find(vec.begin(), vec.end(), "Tom");
if (it == vec.end()) 
    return -1;
else
    return it - vec.begin();
Run Code Online (Sandbox Code Playgroud)

更好的解决方案是选择一个更合适的容器,例如上面提到的容器 std::map