Java HashSet equivalent in C++
Java HashSet equivalent in C++
我很好奇在c++中是否有类似Java哈希集的东西?也就是说,一个快速的数据结构,因为我只会在它上面运行.contains(e)
。同样,如果您能告诉我如何在您提出的任何数据结构上做.contains()
,我将非常感激。哦,请不要只看c++文档,因为我已经这样做了,发现它们很累人。
您可以使用std::unordered_set<>
(标准§23.5.6),它的find
方法(进行查找)作为平均复杂度为0 (1):
#include <iostream>
#include <unordered_set>
int main()
{
std::unordered_set<int> example = {1, 2, 3, 4};
auto search = example.find(2);
if(search != example.end()) {
std::cout << "Found " << (*search) << 'n';
}
else {
std::cout << "Not foundn";
}
}
编辑:根据@Drew Dormann的建议,您可以选择使用count
,它的平均复杂度也为0 (1):
#include <iostream>
#include <unordered_set>
int main()
{
std::unordered_set<int> example = {1, 2, 3, 4};
if(example.count(2)) {
std::cout << "Foundn";
}
else {
std::cout << "Not foundn";
}
}
相关文章:
- netcat command in c++
- Difference in displaying cv2 Mat
- C++ MFC Libraries in Travis CI
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- 创建具有 new in 函数和"this is nullptr"异常的对象
- IN, OUT, INOUT Parameters
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 有人安装"IITB Simplecpp in mac"吗?
- 从 C 样式字符串中删除子字符串 "in place" 在C++代码中
- 如何修复"error: ‘_1’ was not declared in this scope"?
- Softmax Implementation in C++
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- IF-nesting in c++
- Gurobi GRBModel and GRBmodel in C++
- Tensorflow Hub in C++
- Centos7 g++ "to_string is not in a member of std"
- InitializeCriticalSectionEx Not Located In KERNEL32.Dll
- 将 lambda 表达式传递给 std::function in C++
- @CPPFLAGS@在 Makefile.in 中意味着什么?
- std::async from std::async in windows xp