转自:http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/search.h.html
NAME
search.h - search tables
SYNOPSIS
[XSI] #include <search.h>
DESCRIPTION
The <search.h> header shall define the ENTRY type for structure entry which shall include thefollowing members:
char *key void *dataand shall define ACTION and VISIT as enumeration data types through type definitions as follows:
enum { FIND, ENTER } ACTION; enum { preorder, postorder, endorder, leaf } VISIT;The <search.h> header shall define the size_t type as described in <sys/types.h>.
The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.
int hcreate(size_t); void hdestroy(void); ENTRY *hsearch(ENTRY, ACTION); void insque(void *, void *); void *lfind(const void *, const void *, size_t *, size_t, int (*)(const void *, const void *)); void *lsearch(const void *, void *, size_t *, size_t, int (*)(const void *, const void *)); void remque(void *); void *tdelete(const void *restrict, void **restrict, int(*)(const void *, const void *)); void *tfind(const void *, void *const *, int(*)(const void *, const void *)); void *tsearch(const void *, void **, int(*)(const void *, const void *)); void twalk(const void *, void (*)(const void *, VISIT, int ));