Java HashSet等于c
发布时间:2020-12-14 17:42:58  所属栏目:Java  来源:网络整理 
            导读:如果在c中有一些类似 Java哈希集的东西,我就好奇.我是一个快速浏览的数据结构,因为我只会运行它.(E)就可以了.同样,如果你能启发我如何对你建议的任何数据结构做一个.contains()(),我将非常感谢.哦,请不要发布,只要看看c docs,因为我已经这样做,发现他们很繁
                
                
                
            | 
                         如果在c中有一些类似 
 Java哈希集的东西,我就好奇.我是一个快速浏览的数据结构,因为我只会运行它.(E)就可以了.同样,如果你能启发我如何对你建议的任何数据结构做一个.contains()(),我将非常感谢.哦,请不要发布,只要看看c docs,因为我已经这样做,发现他们很繁重.
 
解决方法
 您可以使用std :: unordered_set<> (标准§23.5.6),其 
  
        find方法(做一个查找)作为O(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的建议,您可以选择使用 #include <iostream>
#include <unordered_set>
int main()
{  
    std::unordered_set<int> example = {1,4};
    if(example.count(2)) {
        std::cout << "Foundn";
    }
    else {
        std::cout << "Not foundn";
    }
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
