adding prototype in push_swap.h and norming some files

This commit is contained in:
Maoake Teriierooiterai
2025-12-10 16:30:26 +01:00
parent 977a4a4b1a
commit b6c1dc73a8
4 changed files with 36 additions and 27 deletions

View File

@@ -12,26 +12,7 @@
#include "push_swap.h" #include "push_swap.h"
t_tab *get_tabs(t_stack *first) void bucket_algo(void)
{ {
t_tab *tmp; return ;
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);
} }

View File

@@ -24,9 +24,28 @@ t_tab *allocate_tab(int range_max, int nb)
return (tab); 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) t_tab *first_tab(t_stack *first)

View File

@@ -28,7 +28,7 @@ typedef struct s_stacks
typedef struct s_tab typedef struct s_tab
{ {
int range_max; int range_max;
int nb_in; int nb_in;
struct s_tab *next; struct s_tab *next;
} t_tab; } t_tab;
@@ -53,5 +53,17 @@ void stack_clear_all(t_stack *stack, t_stack *first);
t_stack *parsing(int argc, char **argv); t_stack *parsing(int argc, char **argv);
t_stacks *init_big_stacks(int argc, char **argv); t_stacks *init_big_stacks(int argc, char **argv);
int ft_atoi(const char *nptr); 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 #endif

View File

@@ -29,11 +29,8 @@ void pa(t_stacks *stacks)
stacks->b = stacks->b->next; stacks->b = stacks->b->next;
} }
stack_add_front(&(stacks->a), b_push); stack_add_front(&(stacks->a), b_push);
} }
#include <stdio.h>
void pb(t_stacks *stacks) void pb(t_stacks *stacks)
{ {
t_stack *a_push; t_stack *a_push;