123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #ifndef _TREE_H_
- #define _TREE_H_
- #include <stdbool.h>
- #define SLEN 20
- typedef struct item
- {
- char petname[SLEN];
- char petkind[SLEN];
- } Item;
- #define MAXITEMS 10
- typedef struct trnode
- {
- Item item;
- struct trnode * left;
- struct trnode * right;
- } Trnode;
- typedef struct tree
- {
- Trnode * root;
- int size;
- } Tree;
- void InitializeTree(Tree * ptree);
- bool TreeIsEmpty(const Tree * ptree);
- bool TreeIsFull(const Tree * ptree);
- int TreeItemCount(const Tree * ptree);
- bool AddItem(const Item * pi, Tree * ptree);
- bool InTree(const Item * pi, const Tree * ptree);
- bool DeleteItem(const Item * pi, Tree * ptree);
- void Traverse (const Tree * ptree, void (* pfun)(Item item));
- void DeleteAll(Tree * ptree);
- #endif
|