65.9K
CodeProject is changing. Read more.
Home

Simple C Hashtable

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.67/5 (3 votes)

May 5, 2012

CPOL
viewsIcon

34780

downloadIcon

1193

A simple key value-pair hashtable written in C

Introduction 

This is a simple key-value pair hashtable written in C, uses FNV-1 as default hash algorithm. 

Using the code 

You can see an extended example of how to use this hashtable in the file main.c. 

Initialization 

// First, declare the hashtable
hashtable_t tbl;

// Then, call hashtable_init with the hash function and the len function
// In this example we will use strings as key
hashtable_init(&tbl, hashtable_hash_fnv, (hashtable_len_function)strlen); 

Adding elements 

// The key and the value can be of any type(int, string, structures...)
hashtable_set(&tbl, "key", "value"); 

Removing elements 

hashtable_remove(&tbl, "key"); 

Clearing the table 

 hashtable_clear(&tbl); 

Finally, destroy the table(actually, this just call hashtable_clear

 hashtable_destroy(&tbl);  

Points of Interest 

This hashtable favors neither search neither insertion. If you want a search favored hashtable you must sort the elements. 

History 

05/05/2012 - First version.