From 83edb77d74bb339f3e1324a51039c78ac503db90 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 24 Jul 2019 18:46:39 +0200 Subject: bsq and c13 passed --- c13/ex04/btree_insert_data.c | 16 ++++++++-------- c13/ex04/ft_btree.h | 10 ++++++---- 2 files changed, 14 insertions(+), 12 deletions(-) (limited to 'c13/ex04') diff --git a/c13/ex04/btree_insert_data.c b/c13/ex04/btree_insert_data.c index 0999cab..e04514f 100644 --- a/c13/ex04/btree_insert_data.c +++ b/c13/ex04/btree_insert_data.c @@ -6,20 +6,20 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/21 18:43:18 by cacharle #+# #+# */ -/* Updated: 2019/07/23 20:49:48 by cacharle ### ########.fr */ +/* Updated: 2019/07/24 14:18:29 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ #include #include "ft_btree.h" -// this is half shit -void btree_insert_data(t_btree **root, void *item, int (*cmpf)(void *, void *)) +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); + *root = btree_create_node(item); + else if ((*cmpf)(item, (*root)->item) < 0) + btree_insert_data(&(*root)->left, item, cmpf); + else + btree_insert_data(&(*root)->right, item, cmpf); } diff --git a/c13/ex04/ft_btree.h b/c13/ex04/ft_btree.h index 3af177e..0572243 100644 --- a/c13/ex04/ft_btree.h +++ b/c13/ex04/ft_btree.h @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/17 19:29:12 by cacharle #+# #+# */ -/* Updated: 2019/07/21 18:19:33 by cacharle ### ########.fr */ +/* Updated: 2019/07/24 12:11:28 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,9 +15,11 @@ typedef struct s_btree { - struct s_btree *left; - struct s_btree *right; - void *item; + struct s_btree *left; + struct s_btree *right; + void *item; } t_btree; +t_btree *btree_create_node(void *item); + #endif -- cgit