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 }

 

posted @ 2018-03-23 12:16  喵小喵~  阅读(344)  评论(0编辑  收藏  举报