aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-02-09 00:49:33 +0100
committerCharles <sircharlesaze@gmail.com>2020-02-09 00:49:33 +0100
commit329e7a3bde7f206414fe89c9b3ca12d1fc1e1b29 (patch)
tree197d37af649baba133259890834f19493b9f6562 /src
parent2b254e816835dec4d9d7f3128a9bd37fb13f4c3b (diff)
downloadlibft-329e7a3bde7f206414fe89c9b3ca12d1fc1e1b29.tar.gz
libft-329e7a3bde7f206414fe89c9b3ca12d1fc1e1b29.tar.bz2
libft-329e7a3bde7f206414fe89c9b3ca12d1fc1e1b29.zip
Added btree basic
Diffstat (limited to 'src')
-rw-r--r--src/bt/ft_btdestroy.c23
-rw-r--r--src/bt/ft_btnew.c25
2 files changed, 48 insertions, 0 deletions
diff --git a/src/bt/ft_btdestroy.c b/src/bt/ft_btdestroy.c
new file mode 100644
index 0000000..c802db0
--- /dev/null
+++ b/src/bt/ft_btdestroy.c
@@ -0,0 +1,23 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_btdestroy.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/07 21:30:53 by cacharle #+# #+# */
+/* Updated: 2020/02/07 21:35:19 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_bt.h"
+
+void ft_btdestroy(t_ftbtree *tree, void (*del)(void *data))
+{
+ if (tree == NULL)
+ return ;
+ ft_btdestroy(tree->left, del);
+ ft_btdestroy(tree->right, del);
+ (*del)(tree->data);
+ free(tree);
+}
diff --git a/src/bt/ft_btnew.c b/src/bt/ft_btnew.c
new file mode 100644
index 0000000..973e1a4
--- /dev/null
+++ b/src/bt/ft_btnew.c
@@ -0,0 +1,25 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_btnew.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/07 21:33:16 by cacharle #+# #+# */
+/* Updated: 2020/02/07 21:34:35 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft_bt.h"
+
+t_ftbtree *ft_btnew(void *data)
+{
+ t_ftbtree *tree;
+
+ if ((tree = (t_ftbtree*)malloc(sizeof(t_ftbtree))) == NULL)
+ return (NULL);
+ tree->data = data;
+ tree->left = NULL;
+ tree->right = NULL;
+ return (tree);
+}