tfind [ HP C/iX Library Reference Manual ] MPE/iX 5.0 Documentation
HP C/iX Library Reference Manual
tfind
Searches for a specified entry in a binary search tree.
Syntax
#include <search.h>
void *tfind (void *key, void **rootp, int (*compar)());
Parameters
key A pointer to an item to be searched for. If there is an
item in the tree equal to *key (the value pointed to by
key), a pointer to the item found is returned. Otherwise,
a null pointer is returned. Only pointers are copied, so
the calling function must store the data.
rootp A pointer to a variable that points to the root of the
tree. A null value for the variable pointed to by rootp
indicates an empty tree.
compar All comparisons are done with the function compar, which
must be supplied by the programmer. This function is
called with two arguments, the pointers to the elements
being compared.
It returns an integer less than, equal to, or greater than
zero, according to whether the first argument is to be
considered less than, equal to, or greater than the second
argument.
The comparison function does not need to compare every
byte, so arbitrary data can be contained in the elements in
addition to the values being compared.
Return Values
If successful, tfind() returns a pointer to the value pointed to by key.
Otherwise, a null pointer is returned either if the entry was not found
or if rootp is NULL on entry.
Description
The tfind function searches a binary search tree for the specified entry.
The tfind(), tsearch(), tdelete(), and twalk() functions manage binary
search trees generalized from Knuth Algorithms T and D (6.2.2) described
in The Art of Computer Programming, Vol3 (Sorting and Searching) by
Donald Ervin Knuth (Reading, Mass.:Addison-Wesley, 1973).
All comparisons are done with the function compar, which must be supplied
by the programmer.
The pointers to the key and the root of the tree should be of type
pointer-to-element, and should be cast to type pointer-to-character.
Similarly, although declared as type pointer-to-character, the value
returned should be cast into type pointer-to-element.
If the calling function alters the pointer to the root, results are
unpredictable.
NOTE The tfind function and the header file <search.h> are not part of
ANSI C. Using them may make your program less portable.
Examples
Refer to the example located in the tsearch function description.
See Also
tsearch(), tdelete(), twalk()
MPE/iX 5.0 Documentation