blob: e30b71ae8e4be0a258840945569dfb6fb9363418 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
struct node {
int data;
struct node *left;
struct node *right;
};
typedef struct node Node;
typedef void(Visitor)(Node* node);
enum Traversal { INORDER = 1, PREORDER = 2, POSTORDER = 4 };
Node *initialize(int data);
void traverse(Node *node, Visitor visitor, enum Traversal traversal);
void destroy(Node *head);
void inspect(Node *head, int level);
|