logo

HASHSET v C++

An neobjednaná sbírka který se skládá z jedinečných prvků se nazývá a hashset v c++ . Standardní kolekce operací, jako remove, obsahuje je obsažena v c++. Průnik, symetrický rozdíl a sjednocení jsou standardní operace založené na množinách vytvořené v c++. Pro identifikaci a vyhledávání položek je v c++ velmi užitečná hashovací funkce v hashsetu. Hashset hraje důležitou roli při identifikaci duplikátů v sestávajícím seznamu. Pomocí této hashovací funkce můžeme získat odlišné hodnoty a dokonce i duplicitní hodnoty. The neuspořádaný_ seznam (hashset) zabere to nějaký čas o (1) která má stálou povahu. V druhém případě může být čas strávený Ó což je lineární čas. V této souvislosti bychom se dozvěděli vše o hashsetu v c++.

co je zásobník v Javě

Syntax:

Syntaxe pro vložení hashset nebo neuspořádané sady v c++, což je řetězcový typ, je následující:

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

Některé příklady hashsetu C++ s jejich pracovním mechanismem:

An unordered_set nebo HashSet je sada, ve které je klíč uložen v libovolném pořadí. Pro HashSet se používá mnoho funkcí. Nejčastěji používané funkce jsou však uvedeny níže:

  1. Pro kapacitu se používá funkce velikosti.
  2. Prázdná funkce se také používá pro kapacitu.
  3. find se používá k vyhledání klíče.
  4. K úpravě v něm slouží funkce Erase.
  5. K úpravě se také používá funkce insert.

An unordered_set umožňuje pouze jedinečné klíče a unordered_multiset umožňuje přes něj pouze duplicitní klíče.

Příklady:

S různými typy příkladů byl celý pracovní mechanismus C++ HashSet vysvětlen následovně:

1) Příklad hashsetu c++ pomocí {…...} To je inicializovaný seznam:

Pomocí HashSet v C++ je uveden základní příklad, ve kterém jsme sadu inicializovali pomocí seznamu inicializátorů {…..}.

stáhněte si video z youtube pomocí vlc

Kód:

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

Výstup:

 2015 2016 2017 

2) Použití binárního predikátu pro předání porovnávacího objektu:

Pomocí binární predikátové sady jsou objekty porovnání předány v níže uvedeném příkladu. Uspořádání sady je definováno pomocí dvou stejných typů prvků.

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ýstup:

 250 120 80 

3) Příklad hashsetu v C++ pomocí insert, iteration, find a deklarace:

V níže uvedeném příkladu se pro operace vkládání, mazání a hledání bere průměrně konstantní čas. Funkce find je uvedena v příkladu, když v sadě klíč není přítomen. Vrací to Iterátor k konec() . A na druhou stranu, iterátor se snadno vrátí do klíčové pozice, když je klíč v sadě přítomen. Pro hodnoty klíče jako ukazatel se pro příjem klíče používá Iterátor a klíč lze získat pomocí dereferencování * operátor .

Kód:

dělat, zatímco 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) Použití neuspořádané sady pro vyhledávání duplicitního obsahu:

V níže uvedeném příkladu jako vstup je poskytnuta sada celých čísel a v sadě byly nalezeny duplikáty a zobrazeny ve výstupu.

Pří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ávěr:

Ve výše uvedeném kontextu jsme se dozvěděli o HashSet v C++ a jeho pracovním mechanismu. V tomto článku jsme se také naučili různé aplikace jazyka C++ pomocí různých příkladů, ve kterých fungují. Při hledání duplicitního obsahu a požadovaného obsahu hraje C++ HashSet zásadní roli.