diff options
Diffstat (limited to 'Hashtable.c')
-rw-r--r-- | Hashtable.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Hashtable.c b/Hashtable.c index c1e63c05..4cd63109 100644 --- a/Hashtable.c +++ b/Hashtable.c @@ -46,6 +46,19 @@ bool Hashtable_isConsistent(Hashtable* this) { return items == this->items; } +int Hashtable_count(Hashtable* this) { + int items = 0; + for (int i = 0; i < this->size; i++) { + HashtableItem* bucket = this->buckets[i]; + while (bucket) { + items++; + bucket = bucket->next; + } + } + assert(items == this->items); + return items; +} + #endif HashtableItem* HashtableItem_new(int key, void* value) { |