logo

HASHSET C++ nyelven

An rendezetlen gyűjtés amely egyedi elemekből áll, az úgynevezett a hashset c++-ban . A szabványos műveletgyűjtemény, akárcsak az eltávolítás, a c++-ban található. A metszéspont, a szimmetrikus különbség és az unió a standard halmazalapú művelet, amelyet a c++ alkot. Az elemek azonosításához és kereséséhez a hashset hash funkciója nagyon hasznos a c++ nyelven. A hashset fontos szerepet játszik az ismétlődések azonosításában az álló listában. Ezzel a hash függvénnyel megkaphatjuk a különálló értékeket, sőt a duplikált értékeket is. A rendezetlen_ lista (hashset) ez egy kis időbe telik o (1) ami a természetben állandó. A másik esetben az igénybe vett idő lehet o ami lineáris idő. Ebben az összefüggésben mindent megtudhatunk a c++ hashset-jéről.

elsődleges kulcs és összetett kulcs SQL-ben

Szintaxis:

A hashset vagy rendezetlen halmaz beszúrásának szintaxisa a c++-ban, amely egy karakterlánc típusú, a következő:

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

Néhány példa a C++ hashsetre a működési mechanizmusukkal:

An unordered_set vagy HashSet egy olyan készlet, amelyben a kulcsot tetszőleges sorrendben tárolják. A HashSethez számos funkció használható. De a leggyakrabban használt funkciókat az alábbiakban ismertetjük:

  1. A méret függvény a kapacitásra szolgál.
  2. Az üres funkciót a kapacitásra is használják.
  3. A find kulcs keresésére szolgál.
  4. Az Erase funkció a módosításra szolgál benne.
  5. A beszúrás funkció módosításra is használható.

An unordered_set csak az egyedi kulcsokat engedélyezi, és egy unordered_multiset csak a duplikált kulcsokat engedi át rajta.

Példák:

A különböző típusú példákkal a C++ HashSet teljes működési mechanizmusa a következőképpen lett elmagyarázva:

1) C++ hashset példa a {…...} használatával Ez egy inicializált lista:

A HashSet használatával C++-ban adjuk meg az alappéldát, amelyben a halmazt inicializáltuk a {…..} inicializáló lista segítségével.

Kód:

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

Kimenet:

 2015 2016 2017 

2) Bináris predikátum használata az összehasonlító objektum átadásához:

Bináris predikátumkészlet használatával az összehasonlító objektumok az alábbi példában kerülnek átadásra. A halmazsorrendet két azonos típusú elem segítségével határozzuk meg.

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

Kimenet:

 250 120 80 

3) Példa hashsetre C++ nyelven beszúrással, iterációval, kereséssel és deklarációval:

Az alábbi példában átlagosan állandó időt vesz igénybe a beszúrás, törlés és keresés művelet. A kereső funkciót a példában adjuk meg, ha a készletben nincs kulcs. Visszaadja a Iterátor hoz vége() . Másrészt az Iterator könnyen visszaáll a kulcspozícióba, ha a készletben a kulcs jelen van. A kulcsértékekhez mutatóként az Iterátort használják a kulcs fogadására, és a kulcsot a hivatkozás megszüntetése * operátor .

Kód:

hálózati operációs rendszer
 #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) Rendezetlen halmaz használata ismétlődő tartalom keresésére:

Az alábbi példában bemenetként az egész számok halmazát adjuk meg, a halmazban pedig a duplikátumokat megtaláltuk és megjelenítjük a kimenetben.

Példa a kódra:

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

Következtetés:

A fenti összefüggésben megismertük a HashSet-et C++-ban és annak működési mechanizmusát. Ebben a cikkben a C++ különféle alkalmazásait is megismertük különböző példák segítségével, amelyekben működnek. A duplikált tartalom és a kívánt tartalom megtalálásában a C++ HashSet létfontosságú szerepet játszik benne.