diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-07-24 18:46:39 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-07-24 18:46:58 +0200 |
| commit | 83edb77d74bb339f3e1324a51039c78ac503db90 (patch) | |
| tree | 1e69b9330430438fa499f94e864dcfb4d83ea007 /c13/ex04 | |
| parent | 5bab06313e71e9827baa426a02bbaf2a00b4e6a0 (diff) | |
| download | piscine-83edb77d74bb339f3e1324a51039c78ac503db90.tar.gz piscine-83edb77d74bb339f3e1324a51039c78ac503db90.tar.bz2 piscine-83edb77d74bb339f3e1324a51039c78ac503db90.zip | |
bsq and c13 passed
Diffstat (limited to 'c13/ex04')
| -rw-r--r-- | c13/ex04/btree_insert_data.c | 16 | ||||
| -rw-r--r-- | c13/ex04/ft_btree.h | 10 |
2 files changed, 14 insertions, 12 deletions
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 <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* 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 <stdlib.h> #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 <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* 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 |
