Java HashSet equals C

If there is something similar to Java hash set in C, I'm curious I am a quick browsing data structure because I can only run it (E) Just do it Similarly, if you can enlighten me on how to make an example of any data structure you suggest I would appreciate it very much Oh, please don't publish, just look at C docs, because I've done so and find them very heavy

Solution

You can use STD:: unordered_ Set < > (standard § 23.5.6), and its find method (making a search) is taken as the average complexity of 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 found\n";
    }
}

Edit:

According to @ drew dormann's suggestion, you can choose to use count, with an average complexity of O (1):

#include <iostream>
#include <unordered_set>

int main()
{  
    std::unordered_set<int> example = {1,4};

    if(example.count(2)) {
        std::cout << "Found\n";
    }
    else {
        std::cout << "Not found\n";
    }
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>