From b6c1dc73a8f679ae4eda6e62ceae6ef6d3c5f1cb Mon Sep 17 00:00:00 2001 From: Maoake Teriierooiterai Date: Wed, 10 Dec 2025 16:30:26 +0100 Subject: [PATCH] adding prototype in push_swap.h and norming some files --- algorithms/medium_algo.c | 23 ++-------------------- algorithms/medium_utils/utils_struct_tab.c | 23 ++++++++++++++++++++-- push_swap.h | 14 ++++++++++++- stack_utils/push.c | 3 --- 4 files changed, 36 insertions(+), 27 deletions(-) diff --git a/algorithms/medium_algo.c b/algorithms/medium_algo.c index e2d4e03..0c405e0 100644 --- a/algorithms/medium_algo.c +++ b/algorithms/medium_algo.c @@ -12,26 +12,7 @@ #include "push_swap.h" -t_tab *get_tabs(t_stack *first) +void bucket_algo(void) { - t_tab *tmp; - t_tab *first_tab; - int len_stack; - int scan_nb_in_tab; - - len_stack = stack_len(first); - first_tab = first_tab(first); - if (!first_tab) - return (NULL); - scan_nb_in_tab = tab->nb_in; - tmp = first_tab; - while (scan_nb_in_tab < len_stack) - { - tmp->next = get_next_tab(first, tmp); - if (!(tmp->next)) - return (free_tab(first_tab)); - tmp = tmp->next; - scan_nb_in_tab += tmp->nb_in; - } - return (first_tab); + return ; } diff --git a/algorithms/medium_utils/utils_struct_tab.c b/algorithms/medium_utils/utils_struct_tab.c index 5a12df9..d3b0af8 100644 --- a/algorithms/medium_utils/utils_struct_tab.c +++ b/algorithms/medium_utils/utils_struct_tab.c @@ -24,9 +24,28 @@ t_tab *allocate_tab(int range_max, int nb) return (tab); } -void link_tab(t_tab *previous, t_tab *new) +t_tab *get_tabs(t_stack *first) { - previous->next = new; + t_tab *tmp; + t_tab *first_tab; + int len_stack; + int scan_nb_in_tab; + + len_stack = stack_len(first); + first_tab = first_tab(first); + if (!first_tab) + return (NULL); + scan_nb_in_tab = tab->nb_in; + tmp = first_tab; + while (scan_nb_in_tab < len_stack) + { + tmp->next = get_next_tab(first, tmp); + if (!(tmp->next)) + return (free_tab(first_tab)); + tmp = tmp->next; + scan_nb_in_tab += tmp->nb_in; + } + return (first_tab); } t_tab *first_tab(t_stack *first) diff --git a/push_swap.h b/push_swap.h index 9a5ee7b..b4cb81b 100644 --- a/push_swap.h +++ b/push_swap.h @@ -28,7 +28,7 @@ typedef struct s_stacks typedef struct s_tab { - int range_max; + int range_max; int nb_in; struct s_tab *next; } t_tab; @@ -53,5 +53,17 @@ void stack_clear_all(t_stack *stack, t_stack *first); t_stack *parsing(int argc, char **argv); t_stacks *init_big_stacks(int argc, char **argv); int ft_atoi(const char *nptr); +/*FUNCTION FOR MEDIUM ALGO*/ +t_tab *get_tabs(t_stack *first); +int get_number_in_range(int range, t_stacks *piles); +int in_range(int value, int max_range); +int calcul_range(int value, int range); +int get_next_lower(t_stack *first, int old_lower); +int get_first_lower(t_stack *first); +int is_upper_compare(t_stack t1, t_stack t2); +t_tab *free_tab(t_tab *first); +t_tab *get_next_tab(t_stack *first, t_tab tab); +t_tab *first_tab(t_stack *first); +t_tab *allocate_tab(int range_max, int nb); #endif diff --git a/stack_utils/push.c b/stack_utils/push.c index 126ff89..1c43f79 100644 --- a/stack_utils/push.c +++ b/stack_utils/push.c @@ -29,11 +29,8 @@ void pa(t_stacks *stacks) stacks->b = stacks->b->next; } stack_add_front(&(stacks->a), b_push); - } -#include - void pb(t_stacks *stacks) { t_stack *a_push;