logo

HASHSET W C++

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:

  1. Funkcja rozmiaru służy do określania pojemności.
  2. Funkcja pusta jest również używana do określania pojemności.
  3. find służy do wyszukiwania klucza.
  4. Do modyfikacji służy funkcja kasowania.
  5. 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 : &apos; &lt;<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ę.