summaryrefslogtreecommitdiff
path: root/include/trees.h
diff options
context:
space:
mode:
authorsoikk2021-10-30 17:17:21 +0200
committersoikk2021-10-30 17:17:21 +0200
commit18b53edf4a8b5a31fbc00f63775134a818de7fc6 (patch)
tree9e82eb57540839f16a3fc25c427fe9cb2a4d7d4c /include/trees.h
downloadsoikk-trees-master.tar.xz
soikk-trees-master.tar.zst
A simple collection of tree algorithms made while in school (lol)HEADmaster
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);