2 changed files with 4 additions and 51 deletions
@ -1,51 +0,0 @@ |
|||
/* ternary.h - Ternary Search Trees
|
|||
Copyright 2001 Free Software Foundation, Inc. |
|||
|
|||
Contributed by Daniel Berlin (dan@cgsoftware.com) |
|||
|
|||
|
|||
This program is free software; you can redistribute it and/or modify it |
|||
under the terms of the GNU General Public License as published by the |
|||
Free Software Foundation; either version 2, or (at your option) any |
|||
later version. |
|||
|
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with this program; if not, write to the Free Software |
|||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, |
|||
USA. */ |
|||
#ifndef TERNARY_H_ |
|||
#define TERNARY_H_ |
|||
/* Ternary search trees */ |
|||
|
|||
typedef struct ternary_node_def *ternary_tree; |
|||
|
|||
typedef struct ternary_node_def |
|||
{ |
|||
char splitchar; |
|||
ternary_tree lokid; |
|||
ternary_tree eqkid; |
|||
ternary_tree hikid; |
|||
} |
|||
ternary_node; |
|||
|
|||
/* Insert string S into tree P, associating it with DATA.
|
|||
Return the data in the tree associated with the string if it's |
|||
already there, and replace is 0. |
|||
Otherwise, replaces if it it exists, inserts if it doesn't, and |
|||
returns the data you passed in. */ |
|||
void *ternary_insert (ternary_tree *p, const char *s, |
|||
void *data, int replace); |
|||
|
|||
/* Delete the ternary search tree rooted at P.
|
|||
Does NOT delete the data you associated with the strings. */ |
|||
void ternary_cleanup (ternary_tree p); |
|||
|
|||
/* Search the ternary tree for string S, returning the data associated
|
|||
with it if found. */ |
|||
void *ternary_search (const ternary_node *p, const char *s); |
|||
#endif |
|||
Loading…
Reference in new issue