summaryrefslogtreecommitdiff
path: root/include/trees.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/trees.h')
-rw-r--r--include/trees.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/include/trees.h b/include/trees.h
new file mode 100644
index 0000000..d4abd40
--- /dev/null
+++ b/include/trees.h
@@ -0,0 +1,53 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+typedef struct node{
+ int val;
+ struct node *left;
+ struct node *right;
+} node_t;
+
+typedef struct tree{
+ node_t *root;
+} tree_t;
+
+
+node_t* createNode(int val);
+
+tree_t* createTree();
+
+int addNode(node_t *node, int val, const char lr);
+
+int changeNode(node_t *node, int val);
+
+void printNode(node_t node);
+
+void printTree(tree_t);
+
+int nodeDepth(node_t *node);
+
+int treeDepth(tree_t tree);
+
+int nodeEndNodeCount(node_t *node);
+
+int endNodeCount(tree_t tree);
+
+int nodeContainsN(node_t *node, int n);
+
+int treeContainsN(tree_t tree, int n);
+
+int nodeNodeCount(node_t *node);
+
+int nodeCount(tree_t tree);
+
+void putNodeInArray(node_t *node, int *array, int *i);
+
+int putTreeInArray(tree_t tree, int *array);
+
+void sortArray(int *array, int len);
+
+void insertInNode(node_t *node, int *array, int *i);
+
+void insertInTree(tree_t *tree, int *array);
+
+void sortTree(tree_t *tree);