aboutsummaryrefslogtreecommitdiff
path: root/c13/ex04/btree_insert_data.c
diff options
context:
space:
mode:
Diffstat (limited to 'c13/ex04/btree_insert_data.c')
-rw-r--r--c13/ex04/btree_insert_data.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/c13/ex04/btree_insert_data.c b/c13/ex04/btree_insert_data.c
index e69de29..0999cab 100644
--- a/c13/ex04/btree_insert_data.c
+++ b/c13/ex04/btree_insert_data.c
@@ -0,0 +1,25 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* btree_insert_data.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2019/07/21 18:43:18 by cacharle #+# #+# */
+/* Updated: 2019/07/23 20:49:48 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include <stdlib.h>
+#include "ft_btree.h"
+
+// this is half shit
+void btree_insert_data(t_btree **root, void *item, int (*cmpf)(void *, void *))
+{
+ if (*root == NULL)
+ *root = btree_create_elem(item);
+ if ((*cmpf)((*root)->item, item) < 0)
+ btree_insert_root(&(*root)->left, item, cmpf);
+ else if ((*cmpf)((*root)->item, item) > 0)
+ btree_insert_root(&(*root)->right, item, cmpf);
+}