fork download
  1. #include <iostream>
  2.  
  3. class MyMap
  4. {
  5. public:
  6. MyMap();
  7.  
  8. void debug();
  9.  
  10. private:
  11. int INIT_N_BUCKETS;
  12.  
  13. struct key_val_pair {
  14. int key;
  15. int value;
  16. key_val_pair * next;
  17. };
  18.  
  19. typedef key_val_pair ** bucketArray;
  20.  
  21.  
  22. bucketArray createBucketArray(int nBuckets);
  23. bucketArray buckets;
  24.  
  25. int nBuckets;
  26. int nElems;
  27. };
  28.  
  29. MyMap::MyMap()
  30. :
  31. INIT_N_BUCKETS(128),
  32. buckets(createBucketArray(INIT_N_BUCKETS)),
  33. nBuckets(INIT_N_BUCKETS),
  34. nElems(0)
  35. { }
  36.  
  37. MyMap::bucketArray MyMap::createBucketArray(int nBuckets)
  38. {
  39. bucketArray newBuckets = new key_val_pair*[nBuckets];
  40.  
  41. for (int i = 0; i < nBuckets; i++)
  42. newBuckets[i] = nullptr;
  43.  
  44. return newBuckets;
  45. }
  46.  
  47. void MyMap::debug()
  48. {
  49. for (int i = 0; i < INIT_N_BUCKETS; i++)
  50. std::cout << buckets[i] << ' ';
  51. std::cout << '\n';
  52. }
  53.  
  54. int main()
  55. {
  56. MyMap mymap;
  57. mymap.debug();
  58. return 0;
  59. }
  60.  
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0