logo

HASHSET IN C++

Een ongeordende verzameling dat uit unieke elementen bestaat, wordt a genoemd hashset in c++ . De standaardbewerkingsverzameling bevat, net als verwijderen, zich in c++. Snijpunt, symmetrisch verschil en vereniging zijn de standaard set-gebaseerde bewerkingen die worden gevormd door c++. Voor het identificeren en zoeken van items is de hash-functie in hashset erg handig in c++. De hashset speelt een belangrijke rol bij het identificeren van duplicaten in de bestaande lijst. Met deze hashfunctie kunnen we de verschillende waarden en zelfs de dubbele waarden verkrijgen. De ongeordende_lijst (hashset) kost wat tijd, dat is het o (1) wat een constant karakter heeft. In het andere geval kan de benodigde tijd dat zijn O dat is lineaire tijd. In deze context zouden we alles leren over de hashset in c++.

toetsenbord invoegen

Syntaxis:

De syntaxis voor het invoegen van hashset of ongeordende set in c++, wat een stringtype is, is als volgt:

 int main() { unordered_set CBA ; CBA.insert('') ; CBA.insert('') ; .................. } 

Enkele voorbeelden van C++-hashset met hun werkingsmechanisme:

Een ongeordende_set of HashSet is een set waarin de sleutel in willekeurige volgorde wordt opgeslagen. Voor een HashSet worden veel functies gebruikt. Maar de meest gebruikte functies staan ​​hieronder vermeld:

  1. De groottefunctie wordt gebruikt voor de capaciteit.
  2. De lege functie wordt ook gebruikt voor capaciteit.
  3. find wordt gebruikt om naar een sleutel te zoeken.
  4. De wisfunctie wordt gebruikt voor wijziging daarin.
  5. De invoegfunctie wordt ook gebruikt voor wijziging.

Een ongeordende_set staat alleen de unieke sleutels toe, en een ongeordende_multiset laat alleen de dubbele sleutels er doorheen.

Voorbeelden:

Met de verschillende soorten voorbeelden is het hele werkingsmechanisme van C++ HashSet als volgt uitgelegd:

1) c++ hashset-voorbeeld met {…...} Dat is een geïnitialiseerde lijst:

Met behulp van HashSet in C++ wordt het basisvoorbeeld gegeven waarin we de set hebben geïnitialiseerd met behulp van de initialisatielijst {…..}.

Code:

voor lus-java
 #include #include int main() { std::unordered_set P { 2017, 2016, 2015 }; for (auto Q: P) std::cout << Q << '
'; return 0; } 

Uitgang:

 2015 2016 2017 

2) Gebruik van een binair predikaat voor het doorgeven van een vergelijkingsobject:

Met behulp van een binaire predikaatset worden de vergelijkingsobjecten doorgegeven in het onderstaande voorbeeld. De setvolgorde wordt gedefinieerd met behulp van twee dezelfde typen elementen.

Code:

 #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; } 

Uitgang:

 250 120 80 

3) Voorbeeld van hashset in C++ met behulp van insert, iteratie, find en declaratie:

In het onderstaande voorbeeld wordt gemiddeld een constante tijd genomen voor de invoeg-, wis- en zoekbewerking. De zoekfunctie wordt in het voorbeeld gegeven als de sleutel in de set niet aanwezig is. Het retourneert de Iterator naar de einde() . En aan de andere kant komt de Iterator gemakkelijk terug naar de sleutelpositie wanneer de sleutel aanwezig is in de set. Voor de sleutelwaarden als aanwijzer wordt Iterator gebruikt voor het ontvangen van de sleutel, en de sleutel kan worden opgehaald met dereferentie * operator .

Code:

wat is orakel
 #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) Een ongeordende set gebruiken om te zoeken naar dubbele inhoud:

In het onderstaande voorbeeld wordt als invoer de set gehele getallen opgegeven, en in de set zijn de duplicaten gevonden en weergegeven in de uitvoer.

Codevoorbeeld:

 #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;>

Conclusie:

In de bovenstaande context hebben we geleerd over HashSet in C++ en het werkingsmechanisme ervan. In dit artikel hebben we ook de verschillende toepassingen van C++ geleerd met behulp van verschillende voorbeelden waarin ze werken. Bij het vinden van dubbele inhoud en gewenste inhoud speelt C++ HashSet daarin een cruciale rol.