logo

HASHSET v C++

An neobjednaná kolekcia ktorý pozostáva z jedinečných prvkov sa nazýva a hashset v c++ . Kolekcia štandardných operácií, podobne ako remove, obsahuje, je obsiahnutá v c++. Priesečník, symetrický rozdiel a spojenie sú štandardné operácie založené na množine, ktoré tvorí c++. Na identifikáciu a vyhľadávanie položiek je v c++ veľmi užitočná hašovacia funkcia v hashsete. Hashset zohráva dôležitú úlohu pri identifikácii duplikátov v zloženom zozname. Pomocou tejto hašovacej funkcie môžeme získať odlišné hodnoty a dokonca aj duplicitné hodnoty. The neusporiadaný_ zoznam (hashset) trvá to nejaký čas o (1) ktorý má stály charakter. V inom prípade môže byť potrebný čas o čo je lineárny čas. V tejto súvislosti by sme sa dozvedeli všetko o hashset v c++.

ostrovček java

Syntax:

Syntax na vloženie hashset alebo neusporiadanej množiny v c++, čo je reťazcový typ, je nasledovná:

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

Niekoľko príkladov hashsetu C++ s ich pracovným mechanizmom:

An unordered_set alebo HashSet je sada, v ktorej je kľúč uložený v ľubovoľnom poradí. Pre HashSet sa používa veľa funkcií. Ale najčastejšie používané funkcie sú uvedené nižšie:

  1. Pre kapacitu sa používa funkcia veľkosti.
  2. Prázdna funkcia sa používa aj pre kapacitu.
  3. find sa používa na vyhľadanie kľúča.
  4. Na úpravu v ňom slúži funkcia Erase.
  5. Na úpravu sa používa aj funkcia vloženia.

An unordered_set umožňuje iba jedinečné kľúče a unordered_multiset umožňuje cez ňu iba duplicitné kľúče.

Príklady:

S rôznymi typmi príkladov bol celý pracovný mechanizmus C++ HashSet vysvetlený takto:

1) Príklad hashsetu c++ s použitím {…...} Toto je inicializovaný zoznam:

Pomocou HashSet v C++ je uvedený základný príklad, v ktorom sme sadu inicializovali pomocou zoznamu inicializátorov {…..}.

kód:

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

Výkon:

 2015 2016 2017 

2) Použitie binárneho predikátu na odovzdanie porovnávacieho objektu:

Pomocou množiny binárnych predikátov sa porovnávacie objekty odovzdávajú v uvedenom príklade nižšie. Usporiadanie sady je definované pomocou dvoch rovnakých typov prvkov.

kód:

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

Výkon:

 250 120 80 

3) Príklad hashsetu v C++ pomocou vloženia, iterácie, hľadania a deklarácie:

V nižšie uvedenom príklade sa pre operácie vloženia, vymazania a hľadania berie priemerný konštantný čas. Funkcia find je uvedená v príklade, keď v súprave kľúč nie je prítomný. Vracia Iterátor k koniec() . A na druhej strane, iterátor sa ľahko vráti do kľúčovej polohy, keď je kľúč v súprave. Pre hodnoty kľúča ako ukazovateľ sa na príjem kľúča používa Iterátor a kľúč je možné získať pomocou operátor dereferencovania * .

kód:

zásobník java
 #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) Pomocou neusporiadanej sady na vyhľadávanie duplicitného obsahu:

V nižšie uvedenom príklade ako vstup je poskytnutá množina celých čísel a v množine boli nájdené duplikáty a zobrazené vo výstupe.

Príklad kódu:

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

Záver:

Vo vyššie uvedenom kontexte sme sa dozvedeli o HashSet v C++ a jeho pracovnom mechanizme. V tomto článku sme sa tiež naučili rôzne aplikácie C++ pomocou rôznych príkladov, v ktorých fungujú. Pri hľadaní duplicitného obsahu a požadovaného obsahu v ňom hrá zásadnú úlohu C++ HashSet.