Jestem ciekawy, czy było coś podobnego do Java hashset w C++. To jest struktura danych o szybkim wyglądzie, ponieważ będę tylko działać. Zawiera (e) na niej. Podobnie, gdybyś mógł mnie oświecić, jak zrobić .contains() na dowolnej strukturze danych, którą proponujesz, byłbym bardzo wdzięczny. O, proszę, nie wysyłaj po prostu spójrz na C++ dokumenty, jak już to zrobiłem i znajdź je uciążliwe.Java HashSet equiv in C++
Odpowiedz
Można użyć std::unordered_set<>
(standardowo § 23.5.6), jego find
metoda (do zrobienia odnośnika) jako średnia złożoność 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:
Zgodnie z sugestią @Drew Dormann można alternatywnie użyć count
, który ma również średnią złożoność O (1):
#include <iostream>
#include <unordered_set>
int main()
{
std::unordered_set<int> example = {1, 2, 3, 4};
if(example.count(2)) {
std::cout << "Found\n";
}
else {
std::cout << "Not found\n";
}
}
Polecam' count() 'do emulacji zawiera(). Ta 2 linia staje się po prostu 'if (example.count (2))' –
@ Drew: yep, dodano – quantdev
niesamowite dziękuję wam obojgu! – user1352683
- 1. Wydajność Java HashSet
- 2. C# DateTime.Ticks equivalent in Java
- 3. C# Hashset Zawiera nieunikalne Przedmioty
- 4. C# Hashset konwersja na listy
- 5. Java HashSet z niestandardowymi kryteriami równości?
- 6. Jak mod2^64 in long in Java?
- 7. String isNullOrEmpty in Java?
- 8. Biased locking in java
- 9. Kolizje HashSet w Javie
- 10. pobrać obiekt z HashSet w C#
- 11. C# - definiowanie hashset z niestandardowym kluczem
- 12. HashSet umożliwia zdublowane wstawianie elementów - C#
- 13. C# cała zawartość HashSet <string>
- 14. Pobierz losowy element z C# HashSet szybko
- 15. lua equiv z __LINE__ i __FILE__?
- 16. Sortowanie Hashset .Net 3.5
- 17. UTF8 processing in C
- 18. Substring IndexOf in C#
- 19. Threading concept in C#
- 20. Jack Sensing in C#
- 21. Caret in objective C
- 22. Page_Load in C#
- 23. IComparable in C#
- 24. Switch Statement in C#
- 25. C# app.config in winform
- 26. Pseudo-generics in C
- 27. Threading in C#
- 28. IApplicationActivationManager :: ActivateApplication in C#?
- 29. Eclipse Java Projects in Git
- 30. Concat two ByteBuffers in Java
'std :: unordered_set' byłoby najbliższe – quantdev