17.查找效率最高的unorderd_set(替代hash_set)
1 #include <string> 2 #include <iostream> 3 //查询性能最高(不允许重复数据) 4 #include <unordered_set> 5 using namespace std; 6 7 8 void main() 9 { 10 unordered_set<string> myset{"move","jump","hello"}; 11 12 //删除hash表第一个 13 //myset.erase(myset.begin()); 14 15 //删除某一个 16 myset.erase("move"); 17 18 myset.insert("hel1"); 19 20 for (auto i : myset) 21 { 22 cout << i << endl; 23 } 24 for (auto ib = myset.begin(), ie = myset.end(); ib != ie; ib++) 25 { 26 cout << *ib << endl; 27 } 28 //哈希表长度 29 cout << myset.bucket_count() << endl; 30 31 //输出hash表内存结构 32 for (int i = 0; i < myset.bucket_count(); i++) 33 { 34 cout << "bucket" << i << ": "; 35 for (auto it = myset.begin(i); it != myset.end(i); it++) 36 { 37 cout << " " << *it; 38 } 39 cout << endl; 40 } 41 42 //最大大小 43 cout << myset.max_size() << endl; 44 //当前大小 45 cout << myset.size() << endl; 46 cin.get(); 47 }