/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* reverse_rotate.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/07/31 20:27:59 by fgras-ca #+# #+# */ /* Updated: 2023/07/31 20:34:10 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ #include "push_swap.h" static void rev_rotate(t_stack **stack) { t_stack *tmp; t_stack *tail; t_stack *before_tail; tail = get_stack_bottom(*stack); before_tail = get_stack_before_bottom(*stack); tmp = *stack; *stack = tail; (*stack)->next = tmp; before_tail->next = NULL; } void do_rra(t_stack **stack_a) { rev_rotate(stack_a); ft_putstr("rra\n"); } void do_rrb(t_stack **stack_b) { rev_rotate(stack_b); ft_putstr("rrb\n"); } void do_rrr(t_stack **stack_a, t_stack **stack_b) { rev_rotate(stack_a); rev_rotate(stack_b); ft_putstr("rrr\n"); }