Ан неподредена колекция който се състои от уникални елементи се нарича 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 се използват много функции. Но най-често използваните функции са посочени по-долу:
- Функцията за размер се използва за капацитет.
- празната функция също се използва за капацитет.
- find се използва за търсене на ключ.
- Функцията за изтриване се използва за модификация в него.
- Функцията за вмъкване също се използва за модификация.
Ан неподреден_набор позволява само уникалните ключове и 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 : ' <<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 играе жизненоважна роля.