aboutsummaryrefslogtreecommitdiff
path: root/Computer_Science/data_structures/chapter_4/binary_search_tree.h
blob: 2d9425e9a5743d2fd2db70c665ec96d6219e6cb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef _BINARY_SEARCH_TREE_H
#define _BINARY_SEARCH_TREE_H

struct TreeNode;
typedef struct TreeNode *Position;
typedef struct TreeNode *SearchTree;
typedef int elem_t;

SearchTree make_empty(SearchTree t);
Position find(elem_t x, SearchTree t);
Position find_min(SearchTree t);
Position find_max(SearchTree t);
SearchTree insert(elem_t x, SearchTree t);
SearchTree delete(elem_t x, SearchTree t);
elem_t retrieve(Position p);

struct TreeNode
{
    elem_t elem;
    SearchTree left;
    SearchTree right;
};
typedef SearchTree Tree;

#endif  /* _BINARY_SEARCH_TREE_H */