working algo 😂
This commit is contained in:
@ -6,17 +6,20 @@
|
||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/08 18:08:51 by adjoly #+# #+# */
|
||||
/* Updated: 2024/02/12 17:24:55 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/02/21 17:55:12 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "../push_swap.h"
|
||||
#include <unistd.h>
|
||||
|
||||
void ft_push_a(t_stack **stack_a, t_stack **stack_b)
|
||||
{
|
||||
t_stack *tmp_a;
|
||||
|
||||
ft_putendl_fd("pb", 1);
|
||||
|
||||
if (!stack_b || !(*stack_b))
|
||||
return ;
|
||||
ft_putendl_fd("pa", STDOUT_FILENO);
|
||||
tmp_a = *stack_b;
|
||||
*stack_b = (*stack_b)->next;
|
||||
tmp_a->next = *stack_a;
|
||||
@ -27,7 +30,9 @@ void ft_push_b(t_stack **stack_a, t_stack **stack_b)
|
||||
{
|
||||
t_stack *tmp_b;
|
||||
|
||||
ft_putendl_fd("pb", 1);
|
||||
if (!stack_a || !(*stack_a))
|
||||
return ;
|
||||
ft_putendl_fd("pb", STDOUT_FILENO);
|
||||
tmp_b = *stack_a;
|
||||
*stack_a = (*stack_a)->next;
|
||||
tmp_b->next = *stack_b;
|
||||
|
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/13 13:41:25 by adjoly #+# #+# */
|
||||
/* Updated: 2024/02/13 14:05:13 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/02/15 13:30:20 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -30,13 +30,28 @@ void ft_reverserotate(t_stack **stack)
|
||||
|
||||
void ft_reverserotate_a(t_stack **stack_a)
|
||||
{
|
||||
if (!stack_a || !(*stack_a) || !(*stack_a)->next)
|
||||
return ;
|
||||
ft_putendl_fd("rra", STDOUT_FILENO);
|
||||
ft_reverserotate(stack_a);
|
||||
}
|
||||
|
||||
void ft_reverserotate_b(t_stack **stack_b)
|
||||
{
|
||||
if (!stack_b || !(*stack_b) || !(*stack_b)->next)
|
||||
return ;
|
||||
ft_putendl_fd("rrb", STDOUT_FILENO);
|
||||
ft_reverserotate(stack_b);
|
||||
}
|
||||
|
||||
void ft_reverserotate_r(t_stack **stack_a, t_stack **stack_b)
|
||||
{
|
||||
if (!stack_a || !(*stack_a) || !(*stack_a)->next)
|
||||
return ;
|
||||
if (!stack_b || !(*stack_b) || !(*stack_b)->next)
|
||||
return ;
|
||||
ft_putendl_fd("rrr", STDOUT_FILENO);
|
||||
ft_reverserotate(stack_a);
|
||||
ft_reverserotate(stack_b);
|
||||
}
|
||||
|
||||
|
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/13 12:53:55 by adjoly #+# #+# */
|
||||
/* Updated: 2024/02/13 13:36:51 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/02/15 13:32:27 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -16,7 +16,9 @@ void ft_rotatestack(t_stack **stack)
|
||||
{
|
||||
t_stack *tmp_last;
|
||||
t_stack *start;
|
||||
|
||||
|
||||
if (!stack || !(*stack))
|
||||
return ;
|
||||
start = (*stack)->next;
|
||||
tmp_last = ft_stacklast(*stack);
|
||||
tmp_last->next = *stack;
|
||||
@ -26,13 +28,28 @@ void ft_rotatestack(t_stack **stack)
|
||||
|
||||
void ft_rotatestack_a(t_stack **stack_a)
|
||||
{
|
||||
if (!stack_a || !(*stack_a))
|
||||
return ;
|
||||
ft_putendl_fd("ra", STDOUT_FILENO);
|
||||
ft_rotatestack(stack_a);
|
||||
}
|
||||
|
||||
void ft_rotatestack_b(t_stack **stack_b)
|
||||
{
|
||||
if (!stack_b || !(*stack_b))
|
||||
return ;
|
||||
ft_putendl_fd("rb", STDOUT_FILENO);
|
||||
ft_rotatestack(stack_b);
|
||||
}
|
||||
|
||||
void ft_rotatestack_r(t_stack **stack_a, t_stack **stack_b)
|
||||
{
|
||||
if (!stack_a || !(*stack_a))
|
||||
return ;
|
||||
if (!stack_b || !(*stack_b))
|
||||
return ;
|
||||
ft_putendl_fd("rr", STDOUT_FILENO);
|
||||
ft_rotatestack(stack_a);
|
||||
ft_rotatestack(stack_b);
|
||||
}
|
||||
|
||||
|
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/02/08 17:55:21 by adjoly #+# #+# */
|
||||
/* Updated: 2024/02/08 18:10:02 by adjoly ### ########.fr */
|
||||
/* Updated: 2024/02/15 13:36:44 by adjoly ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -15,7 +15,9 @@
|
||||
void ft_swapstack(t_stack *stack)
|
||||
{
|
||||
int tmp;
|
||||
|
||||
|
||||
if (!stack)
|
||||
return ;
|
||||
tmp = stack->nb;
|
||||
stack->nb = stack->next->nb;
|
||||
stack->next->nb = tmp;
|
||||
@ -23,19 +25,25 @@ void ft_swapstack(t_stack *stack)
|
||||
|
||||
void ft_swap_a(t_stack *stack_a)
|
||||
{
|
||||
ft_putendl_fd("sa", 1);
|
||||
if (!stack_a)
|
||||
return ;
|
||||
ft_putendl_fd("sa", STDOUT_FILENO);
|
||||
ft_swapstack(stack_a);
|
||||
}
|
||||
|
||||
void ft_swap_b(t_stack *stack_b)
|
||||
{
|
||||
ft_putendl_fd("sb", 1);
|
||||
if (!stack_b)
|
||||
return ;
|
||||
ft_putendl_fd("sb", STDOUT_FILENO);
|
||||
ft_swapstack(stack_b);
|
||||
}
|
||||
|
||||
void ft_stack_ss(t_stack *stack_a, t_stack *stack_b)
|
||||
{
|
||||
ft_putendl_fd("ss", 1);
|
||||
if (!stack_a || !stack_b)
|
||||
return ;
|
||||
ft_putendl_fd("ss", STDOUT_FILENO);
|
||||
ft_swapstack(stack_a);
|
||||
ft_swapstack(stack_b);
|
||||
}
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user