diff --git a/stack_functions/swap.c b/stack_functions/swap.c new file mode 100644 index 0000000..67430fb --- /dev/null +++ b/stack_functions/swap.c @@ -0,0 +1,45 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* swap.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: mteriier +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/12/08 14:48:44 by mteriier #+# #+# */ +/* Updated: 2025/12/08 15:04:39 by mteriier ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include "push_swap.h" + +void sa(t_stacks *stacks) +{ + t_stack a; + int stock; + + if (!stacks || !stacks->a || !stacks->a->next) + return ; + a = stacks->a; + stock = a->value; + a->value = a->next->value; + a->next->value = stock; +} + +void sb(t_stacks *stacks) +{ + t_stack b; + int stock; + + if (!stacks || !stacks->b || !stacks->b->next) + return ; + b = stacks->b; + stock = b->value; + b->value = b->next->value; + b->next->value = stock; +} + +void ss(t_stacks *stacks) +{ + sa(stacks); + sb(stacks); +}