Jakiś kolekcja nieuporządkowana składający się z unikalnych elementów nazywa się a hashset w C++ . Kolekcja standardowych operacji, takich jak Remove, zawiera, jest zawarta w języku C++. Przecięcie, różnica symetryczna i suma to standardowe operacje oparte na zbiorach utworzone w języku C++. Do identyfikacji i wyszukiwania elementów funkcja skrótu w zestawie skrótów jest bardzo przydatna w języku C++. Hashset odgrywa ważną rolę w identyfikacji duplikatów na liście składającej się. Dzięki tej funkcji skrótu możemy uzyskać różne wartości, a nawet wartości zduplikowane. The lista nieuporządkowanych_ (hashset) to znaczy, że zajmuje to trochę czasu o (1) który ma charakter stały. W drugim przypadku zajęty czas może być o czyli czas liniowy. W tym kontekście dowiemy się wszystkiego o zestawie skrótów w C++.
różnica tygrysa i lwa
Składnia:
Składnia wstawiania zestawu skrótów lub zestawu nieuporządkowanego w C++, który jest typem ciągu, jest następująca:
int main() { unordered_set CBA ; CBA.insert('') ; CBA.insert('') ; .................. }
Kilka przykładów hashsetu C++ z ich działającym mechanizmem:
Jakiś zestaw_nieuporządkowany Lub Zestaw skrótów to zbiór, w którym klucz jest przechowywany w dowolnej kolejności. W przypadku HashSet używanych jest wiele funkcji. Jednak najczęściej używane funkcje podano poniżej:
- Funkcja rozmiaru służy do określania pojemności.
- Funkcja pusta jest również używana do określania pojemności.
- find służy do wyszukiwania klucza.
- Do modyfikacji służy funkcja kasowania.
- Funkcja wstawiania służy również do modyfikacji.
Jakiś zestaw_nieuporządkowany pozwala tylko na unikalne klucze, i an nieuporządkowany_multiset przepuszcza tylko duplikaty kluczy.
Przykłady:
Na różnych przykładach cały mechanizm działania C++ HashSet został wyjaśniony w następujący sposób:
1) Przykład zestawu skrótów C++ przy użyciu {…...} To jest zainicjowana lista:
Używając HashSet w C++, podano podstawowy przykład, w którym zainicjowaliśmy zbiór za pomocą listy inicjatorów {…..}.
Kod:
#include #include int main() { std::unordered_set P { 2017, 2016, 2015 }; for (auto Q: P) std::cout << Q << ' '; return 0; }
Wyjście:
2015 2016 2017
2) Użycie predykatu binarnego do przekazania obiektu porównania:
Używając binarnego zestawu predykatów, obiekty porównania są przekazywane w podanym przykładzie poniżej. Porządek zestawu definiowany jest przy użyciu dwóch takich samych typów elementów.
Kod:
Java na przerwę
#include #include struct JAVATPOINT { template bool operator()(const X& n, const X& p) const { return n > p; } }; int main() { std::set values = { 120, 80, 250 }; for (auto S: values) std::cout << S << ' '; return 0; }
Wyjście:
250 120 80
3) Przykład zestawu skrótów w C++ z użyciem wstawiania, iteracji, wyszukiwania i deklaracji:
W poniższym przykładzie średni czas operacji wstawiania, kasowania i wyszukiwania jest brany pod uwagę. Funkcja wyszukiwania jest podana w przykładzie, gdy w zestawie nie ma klucza. Zwraca Iterator do koniec() . Z drugiej strony Iterator łatwo wraca do pozycji klucza, gdy w zestawie klucz jest obecny. W przypadku wartości klucza jako wskaźnika do otrzymania klucza używany jest Iterator, a klucz można pobrać za pomocą operator dereferencji * .
Kod:
menedżer zadań w Linuksie
#include using namespace std; int main() { unordered_set CBA ; CBA.insert('Developer') ; CBA.insert('Programmer') ; CBA.insert('tester') ; CBA.insert('HR') ; CBA.insert('Coder') ; string key = 'JAVATPOINT' ; if (CBA.find(key) == CBA.end()) cout << key << ' one of the best company.' << endl << endl ; else cout << 'retrieved' << key << endl << endl ; key = 'Programmer'; if (CBA.find(key) == CBA.end()) cout << key << 'can not retrieve ' ; else cout << 'retrieved ' << key << endl ; cout << ' here is the designations : ' <<endl; unordered_set :: iterator itr; for (itr="CBA.begin();" itr !="CBA.end();" itr++) cout << (*itr) endl; } < pre> <p> <strong>Output:</strong> </p> <pre> JAVATPOINT one of the best company. retrieved Programmer here is the designations : HR tester Programmer Coder Developer When the key data is not found in the order list: JAVATPOINT one of the best company Program can not retrieve here is the designations : HR tester Programmer Coder Developer </pre> <p> <strong>4) Using an unordered set searching for duplicate content:</strong> </p> <p>In the given below example as the input, the set of integers is provided, and in the set, the duplicates have been found and displayed in the output.</p> <p> <strong>Code example:</strong> </p> <pre> #include using namespace std; void printDuplicates(int deepak[], int M) { unordered_set JAVATPOINT; unordered_set similar; for (int P = 0; P <m; p++) { if (javatpoint.find(deepak[p])="=" javatpoint.end()) javatpoint.insert(deepak[p]); else similar.insert(deepak[p]); } cout << 'similar contents are : '; unordered_set :: iterator start; for (start="similar.begin();" start !="similar.end();" start++) *start ' int main() deepak[]="{9," 3, 6, 1, 2, 4, 9, 5, 7, 0, 8}; m="sizeof(Deepak)" sizeof(int); printduplicates(deepak, m); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> similar contents are : 9 6 </pre> <h2>Conclusion:</h2> <p>In the above context, we have learned about HashSet in C++ and its working mechanism of it. In this article, we have also learned the various applications of C++ has set with the help of different examples in which they are working. In finding duplicate content and desired content C++ HashSet plays a vital role in it.</p> <hr></m;></pre></endl;>
4) Korzystanie ze zbioru nieuporządkowanego w poszukiwaniu duplikatów treści:
W podanym poniżej przykładzie jako dane wejściowe podano zbiór liczb całkowitych, w tym zbiorze znaleziono duplikaty i wyświetlono je na wyjściu.
Przykład kodu:
#include using namespace std; void printDuplicates(int deepak[], int M) { unordered_set JAVATPOINT; unordered_set similar; for (int P = 0; P <m; p++) { if (javatpoint.find(deepak[p])="=" javatpoint.end()) javatpoint.insert(deepak[p]); else similar.insert(deepak[p]); } cout << \'similar contents are : \'; unordered_set :: iterator start; for (start="similar.begin();" start !="similar.end();" start++) *start \' int main() deepak[]="{9," 3, 6, 1, 2, 4, 9, 5, 7, 0, 8}; m="sizeof(Deepak)" sizeof(int); printduplicates(deepak, m); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> similar contents are : 9 6 </pre> <h2>Conclusion:</h2> <p>In the above context, we have learned about HashSet in C++ and its working mechanism of it. In this article, we have also learned the various applications of C++ has set with the help of different examples in which they are working. In finding duplicate content and desired content C++ HashSet plays a vital role in it.</p> <hr></m;>
Wniosek:
W powyższym kontekście dowiedzieliśmy się o HashSet w C++ i jego mechanizmie działania. W tym artykule poznaliśmy także różne zastosowania języka C++, korzystając z różnych przykładów ich działania. W znajdowaniu zduplikowanych treści i pożądanej treści C++ HashSet odgrywa w tym kluczową rolę.