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

标签 c++ sorting vector

我将不胜感激一些与处理 vector 中的数据相关的建议。

我编写了生成两组 vector 的代码:字符串(标签/名称)和 double (数据)。对于我所做的每次计算,字符串 vector 中标签的顺序可能不同。

这是我想做的。假设 vector 中的一个元素(标签)是:汤姆。我想知道是否可以在字符串/标签 vector 中搜索“Tom”并返回 Tom 在 vector 中的位置索引。

这在 C++ 中听起来可行吗?我将不胜感激任何提示。谢谢。

最佳答案

使用std::find

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

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

关于C++:是否可以在 vector/容器中搜索特定字符串/值并返回其索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5158764/

相关文章:

c++ - 从编译时已知的字符串中检索类型

c++ - 如何将 asString()/toString() 添加到 std::vector?

c++ - 从接收方的角度来看,我如何确保已收到使用 MPI_Isend 发送的所有消息?

mysql - 按字符串和数字对Mysql进行排序

algorithm - 排序列表以完成 BST 数组表示

python - Python3中合并k个排序列表,内存和时间之间的权衡问题

php - 在 PHP 调用中将 vector 发送到 C++ 程序并读取它

c++ - 将 std::unique_ptr<void> 与自定义删除器一起用作智能 void*

matlab/octave 使用字典顺序比较向量?

vector - iOS 高级手势 : Getting Swipe Direction Vector