logo

HASHSET В C++

Ан неподредена колекция който се състои от уникални елементи се нарича a hashset в c++ . Стандартната колекция от операции, като премахване, съдържа се съдържа в c++. Пресичането, симетричната разлика и обединението са стандартната операция, базирана на множество, съставена от c++. За идентифициране и търсене на елементи хеш функцията в hashset е много полезна в c++. Хешсетът играе важна роля при идентифицирането на дубликати в съставния списък. Чрез тази хеш функция можем да получим отделните стойности и дори дублиращите се стойности. The unordered_ списък (hashset) отнема известно време, т.е о (1) което е постоянно в природата. В другия случай отнето време може да бъде о което е линейно време. В този контекст ще научим всичко за hashset в c++.

свързан списък и списък с масиви

Синтаксис:

Синтаксисът за вмъкване на хешсет или неподреден набор в c++, който е тип низ, е както следва:

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

Някои примери за C++ hashset с техния работен механизъм:

Ан неподреден_набор или HashSet е набор, в който ключът се съхранява в произволен ред. За HashSet се използват много функции. Но най-често използваните функции са посочени по-долу:

  1. Функцията за размер се използва за капацитет.
  2. празната функция също се използва за капацитет.
  3. find се използва за търсене на ключ.
  4. Функцията за изтриване се използва за модификация в него.
  5. Функцията за вмъкване също се използва за модификация.

Ан неподреден_набор позволява само уникалните ключове и an unordered_multiset позволява само дублиращите се ключове през него.

Примери:

С различните типове примери целият работен механизъм на C++ HashSet е обяснен по следния начин:

1) c++ пример за хешсет с помощта на {…...} Това е инициализиран списък:

Използвайки HashSet в C++, е даден основният пример, в който сме инициализирали набора с помощта на инициализатор списък {…..}.

Код:

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

Изход:

 2015 2016 2017 

2) Използване на двоичен предикат за предаване на обект за сравнение:

Използвайки набор от двоични предикати, обектите за сравнение се предават в дадения пример по-долу. Подреждането на набора се дефинира с помощта на два еднакви типа елемента.

Код:

факторен java
 #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; } 

Изход:

 250 120 80 

3) Пример за хешсет в C++ с използване на вмъкване, итерация, намиране и декларация:

В примера, даден по-долу, се взема средно постоянно време за операциите по вмъкване, изтриване и намиране. Функцията за намиране е дадена в примера, когато в набора ключът не присъства. То връща Итератор към край() . И от друга страна, итераторът лесно се връща в ключовата позиция, когато ключът присъства в комплекта. За ключовите стойности като указател, итераторът се използва за получаване на ключа и ключът може да бъде извлечен чрез оператор за дерефериране * .

Код:

стек 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) Използване на неподреден набор за търсене на дублирано съдържание:

В дадения по-долу пример като вход е предоставен набор от цели числа, а в набора дубликатите са намерени и показани в изхода.

Примерен код:

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

Заключение:

В горния контекст научихме за HashSet в C++ и неговия работен механизъм. В тази статия също научихме различните приложения на C++, зададени с помощта на различни примери, в които те работят. При намирането на дублирано съдържание и желано съдържание C++ HashSet играе жизненоважна роля.