fork download
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <string>
  4. #include <unordered_map>
  5.  
  6. int main ()
  7. {
  8. std::unordered_map<std::string,int> m = {
  9. {"Belgium", 32},
  10. {"Canada", 1},
  11. {"France", 33},
  12. {"Germany", 49},
  13. {"United Kingdom", 44},
  14. {"United States", 1}
  15. };
  16.  
  17. std::cout << "Max bucket count: "<< m.max_bucket_count() << std::endl;
  18. std::cout << "Bucket count: " << m.bucket_count() <<std::endl;
  19. for (int i=0; i < m.bucket_count(); i++ ) {
  20. std::cout <<" bucket "<< i << " : size " << m.bucket_size(i) << std::endl;
  21. }
  22. std::cout<<"Average bucket load:" <<m.load_factor()<<std::endl;
  23.  
  24. std::cout << "Container content: " <<std::endl;
  25. for (auto& x: m) {
  26. std::cout <<"\t"<< std::setw(20) << x.first << " -> " << x.second
  27. << "\tBucket " << m.bucket (x.first)
  28. << "\tAddress: "<< (void*)&x << std::endl;
  29. }
  30.  
  31. m.rehash (2*m.bucket_count() );
  32. std::cout << "Bucket count after rehash: " << m.bucket_count() <<std::endl;
  33. for (int i=0; i < m.bucket_count(); i++ ) {
  34. std::cout <<" bucket "<< i << " : size " << m.bucket_size(i) << std::endl;
  35. }
  36. std::cout<<"Average bucket load:" <<m.load_factor()<<std::endl;
  37.  
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Max bucket count: 329406144173384850
Bucket count: 7
   bucket 0 : size 0
   bucket 1 : size 3
   bucket 2 : size 0
   bucket 3 : size 1
   bucket 4 : size 2
   bucket 5 : size 0
   bucket 6 : size 0
Average bucket load:0.857143
Container content: 
	             Germany -> 49	Bucket 3	Address: 0x55b55b8d8d28
	       United States -> 1	Bucket 4	Address: 0x55b55b8d8da8
	              Canada -> 1	Bucket 4	Address: 0x55b55b8d8ca8
	      United Kingdom -> 44	Bucket 1	Address: 0x55b55b8d8d68
	              France -> 33	Bucket 1	Address: 0x55b55b8d8ce8
	             Belgium -> 32	Bucket 1	Address: 0x55b55b8d8c68
Bucket count after rehash: 17
   bucket 0 : size 0
   bucket 1 : size 0
   bucket 2 : size 0
   bucket 3 : size 0
   bucket 4 : size 1
   bucket 5 : size 1
   bucket 6 : size 0
   bucket 7 : size 0
   bucket 8 : size 0
   bucket 9 : size 0
   bucket 10 : size 1
   bucket 11 : size 1
   bucket 12 : size 0
   bucket 13 : size 1
   bucket 14 : size 0
   bucket 15 : size 0
   bucket 16 : size 1
Average bucket load:0.352941