gpt4 book ai didi

C++ 在 std::vector 中搜索和计算特定元素的最快方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 16:22:44 30 4
gpt4 key购买 nike

我们如何搜索特定元素并在 std::vector 中对它进行计数?它必须很快。请帮忙,谢谢。

这是我目前所拥有的:

// Lets assume the Database is sorted (which it will be)
std::vector< std::string > Database( 3 );
Database.push_back( "Password123" );
Database.push_back( "HelloWorld!!!" );
Database.push_back( "HelloWorld!!!" );
//...

std::string Password = "HelloWorld!!!";

// Search and count Password?
// Should return true and 2

哦,我听说索引比迭代器慢。是真的吗?

最佳答案

使用std::count

int num = std::count(Data.begin(), Data.end(), target);

但是如果这个“必须很快”,那么你应该考虑在查询之前对你的 vector 进行排序,因为这样你就可以使用更快的方法来计数(例如 std::lower_boundstd::upper_bound).

关于C++ 在 std::vector 中搜索和计算特定元素的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15181421/

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