trie.h File Reference

Fast string lookups. More...


Defines

#define TRIE_NULL   ((void *) 0)
 A null TrieValue.

Typedefs

typedef struct _Trie Trie
 A trie structure.
typedef void * TrieValue
 Value stored in a Trie.

Functions

Trietrie_new (void)
 Create a new trie.
void trie_free (Trie *trie)
 Destroy a trie.
int trie_insert (Trie *trie, char *key, TrieValue value)
 Insert a new key-value pair into a trie.
TrieValue trie_lookup (Trie *trie, char *key)
 Look up a value from its key in a trie.
int trie_remove (Trie *trie, char *key)
 Remove an entry from a trie.
int trie_num_entries (Trie *trie)
 Find the number of entries in a trie.


Detailed Description

Fast string lookups.

A trie is a data structure which provides fast mappings from strings to values.

To create a new trie, use trie_new. To destroy a trie, use trie_free.

To insert a value into a trie, use trie_insert. To remove a value from a trie, use trie_remove.

To look up a value from its key, use trie_lookup.

To find the number of entries in a trie, use trie_num_entries.


Function Documentation

void trie_free ( Trie trie  ) 

Destroy a trie.

Parameters:
trie The trie to destroy.

int trie_insert ( Trie trie,
char *  key,
TrieValue  value 
)

Insert a new key-value pair into a trie.

Parameters:
trie The trie.
key The key to access the new value.
value The value.
Returns:
Non-zero if the value was inserted successfully, or zero if it was not possible to allocate memory for the new entry.

TrieValue trie_lookup ( Trie trie,
char *  key 
)

Look up a value from its key in a trie.

Parameters:
trie The trie.
key The key.
Returns:
The value associated with the key, or TRIE_NULL if not found in the trie.

Trie* trie_new ( void   ) 

Create a new trie.

Returns:
Pointer to a new trie structure, or NULL if it was not possible to allocate memory for the new trie.

int trie_num_entries ( Trie trie  ) 

Find the number of entries in a trie.

Parameters:
trie The trie.
Returns:
Count of the number of entries in the trie.

int trie_remove ( Trie trie,
char *  key 
)

Remove an entry from a trie.

Parameters:
trie The trie.
key The key of the entry to remove.
Returns:
Non-zero if the key was removed successfully, or zero if it is not present in the trie.


Generated on Sun Sep 14 03:08:02 2008 for C Algorithms by  doxygen 1.5.5