diff --git a/push_swap.h b/push_swap.h index 3bbbc06..2c4d8cd 100644 --- a/push_swap.h +++ b/push_swap.h @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 14:18:06 by dgaillet #+# #+# */ -/* Updated: 2025/12/08 14:23:40 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/12/08 14:39:22 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -20,4 +20,10 @@ typedef struct s_stack s_stack *previous; } t_stack; +typedef struct s_stacks +{ + t_stack *a; + t_stack *b; +} t_stacks; + #endif diff --git a/stack_functions/rotate.c b/stack_functions/rotate.c new file mode 100644 index 0000000..ea412af --- /dev/null +++ b/stack_functions/rotate.c @@ -0,0 +1,35 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* rotate.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dgaillet +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/12/08 14:32:10 by dgaillet #+# #+# */ +/* Updated: 2025/12/08 14:42:04 by dgaillet ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include "push_swap.h" + +void ra(t_stacks *stacks) +{ + if (!stacks) + return ; + if (stacks->a->next) + stacks->a = stacks->a->next; +} + +void rb(t_stacks *stacks) +{ + if (!stacks) + return ; + if (stacks->b->next) + stacks->b = stacks->b->next; +} + +void rr(t_stacks *stacks) +{ + ra(stacks); + rb(stacks); +}