1 #define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 2 #include <iostream> 3 #include <hash_set> 4 #include <cstdlib> 5 #include <cstring> 6 #include <string> 7 using namespace std; 8 9 //hash_set常规用法 10 void main() 11 { 12 ////哈希表不需要考虑碰撞,查询的效率高,不能有重复的数据 13 //hash_set<int> myset{ 1,1,1,4,2134,12,34,56,34 }; 14 //myset.insert(26); 15 //for (auto i : myset) 16 //{ 17 // cout << i << endl; 18 //} 19 ////正向迭代 20 //for (auto ib = myset.begin(), ie = myset.end(); ib != ie; ib++) 21 //{ 22 // cout << *ib << endl; 23 //} 24 25 ////反向迭代 26 //for (auto rb = myset.rbegin(), re = myset.rend(); rb != re; rb++) 27 //{ 28 // cout << *rb << endl; 29 //} 30 31 ////存储的数据个数 32 //cout << myset.size() << endl; 33 ////哈希表大小 34 //cout << myset.bucket_count() << endl; 35 36 //哈希表不需要考虑碰撞,查询的效率高,不能有重复的数据 37 hash_set<string> myset{ "microsoft","apple","oracle","tecent" }; 38 myset.insert("huawei"); 39 for (auto i : myset) 40 { 41 cout << i << endl; 42 } 43 //正向迭代 44 /*for (auto ib = myset.begin(), ie = myset.end(); ib != ie; ib++) 45 { 46 cout << *ib << endl; 47 }*/ 48 49 //反向迭代 50 /*for (auto rb = myset.rbegin(), re = myset.rend(); rb != re; rb++) 51 { 52 cout << *rb << endl; 53 }*/ 54 55 //存储的数据个数 56 /*cout << myset.size() << endl;*/ 57 //哈希表大小 58 /*cout << myset.bucket_count() << endl;*/ 59 60 auto it = myset.find("apple"); 61 62 if (it != myset.end()) 63 { 64 cout << "find" << endl; 65 cout << *it << endl; 66 } 67 else 68 { 69 cout << "not find" << endl; 70 } 71 cin.get(); 72 }