Files
42_INT_06_pushwap/srcs/rotate.c
2021-06-27 20:05:27 +02:00

40 lines
589 B
C

#include "push_swap.h"
void rotate(t_stack **stack)
{
t_stack *tmp;
t_stack *first;
first = *stack;
tmp = *stack;
if (!tmp || !(tmp->next))
return ;
*stack = (*stack)->next;
while (tmp->next)
tmp = tmp->next;
tmp->next = first;
first->next = NULL;
}
t_list *ra(t_stack **a, t_list **lst)
{
rotate(a);
fill_solution(*lst, "ra");
return (NULL);
}
t_list *rb(t_stack **b, t_list **lst)
{
rotate(b);
fill_solution(*lst, "rb");
return (NULL);
}
t_list *rr(t_stack **a, t_stack **b, t_list **lst)
{
rotate(a);
rotate(b);
fill_solution(*lst, "rr");
return (NULL);
}