From 1b67cccd710f6fe2e14c26e7eae85dfa43f6a7d6 Mon Sep 17 00:00:00 2001 From: David Gailleton Date: Mon, 8 Dec 2025 14:50:55 +0100 Subject: [PATCH 1/5] reverse rotate function --- stack_functions/rev_rotate.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 stack_functions/rev_rotate.c diff --git a/stack_functions/rev_rotate.c b/stack_functions/rev_rotate.c new file mode 100644 index 0000000..e0b5175 --- /dev/null +++ b/stack_functions/rev_rotate.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* rev_rotate.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dgaillet +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/12/08 14:43:45 by dgaillet #+# #+# */ +/* Updated: 2025/12/08 14:50:40 by dgaillet ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include "push_swap.h" + +void rra(t_stacks *stacks) +{ + if (stacks->a && stacks->a->previous) + stacks->a = stacks->a->previous; +} + +void rrb(t_stacks *stacks) +{ + if (stacks->b && stacks->b->previous) + stacks->b = stacks->b->previous; +} + +void rrr(t_stacks *stacks) +{ + rra(stacks); + rrb(stacks); +} From d840b06756a182f4cadc52f4ba13874948cc7ff1 Mon Sep 17 00:00:00 2001 From: David Gailleton Date: Mon, 8 Dec 2025 14:53:01 +0100 Subject: [PATCH 2/5] fix rotates functions --- stack_functions/rev_rotate.c | 6 +++--- stack_functions/rotate.c | 10 +++------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/stack_functions/rev_rotate.c b/stack_functions/rev_rotate.c index e0b5175..fe9e664 100644 --- a/stack_functions/rev_rotate.c +++ b/stack_functions/rev_rotate.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 14:43:45 by dgaillet #+# #+# */ -/* Updated: 2025/12/08 14:50:40 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/12/08 14:52:53 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -14,13 +14,13 @@ void rra(t_stacks *stacks) { - if (stacks->a && stacks->a->previous) + if (stacks && stacks->a && stacks->a->previous) stacks->a = stacks->a->previous; } void rrb(t_stacks *stacks) { - if (stacks->b && stacks->b->previous) + if (stacks && stacks->b && stacks->b->previous) stacks->b = stacks->b->previous; } diff --git a/stack_functions/rotate.c b/stack_functions/rotate.c index ea412af..d330a9d 100644 --- a/stack_functions/rotate.c +++ b/stack_functions/rotate.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 14:32:10 by dgaillet #+# #+# */ -/* Updated: 2025/12/08 14:42:04 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/12/08 14:52:37 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -14,17 +14,13 @@ void ra(t_stacks *stacks) { - if (!stacks) - return ; - if (stacks->a->next) + if (stacks && stacks->a && stacks->a->next) stacks->a = stacks->a->next; } void rb(t_stacks *stacks) { - if (!stacks) - return ; - if (stacks->b->next) + if (stacks && stacks->b && stacks->b->next) stacks->b = stacks->b->next; } From 90854ed85e5047e15e0771b8b2a3f3bb48348be6 Mon Sep 17 00:00:00 2001 From: Maoake Teriierooiterai Date: Mon, 8 Dec 2025 15:06:16 +0100 Subject: [PATCH 3/5] finish the swap file need to be test by a main --- stack_functions/swap.c | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 stack_functions/swap.c 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); +} From c46822b086876228f8dbf05e7d54bfedf1a70b38 Mon Sep 17 00:00:00 2001 From: Maoake Teriierooiterai Date: Mon, 8 Dec 2025 15:32:17 +0100 Subject: [PATCH 4/5] aading the push file need to be test --- stack_functions/push.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 stack_functions/push.c diff --git a/stack_functions/push.c b/stack_functions/push.c new file mode 100644 index 0000000..dc0d101 --- /dev/null +++ b/stack_functions/push.c @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* push.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: mteriier +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/12/08 15:09:40 by mteriier #+# #+# */ +/* Updated: 2025/12/08 15:28:53 by mteriier ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include "push_swap.h" + +void pa(t_stacks *stacks) +{ + t_stack a; + + if (!stacks || !stacks->b) + return ; + a = stack->a; + a-value = stacks->b->value; +} + +void pb(t_stacks *stacks) +{ + t_stack b; + + if (!stacks || !stacks->a) + return ; + b = stacks->b; + b->value = stacks->a->value; +} From 804050576b771a619a731ecb7c227401104c8207 Mon Sep 17 00:00:00 2001 From: Maoake Teriierooiterai Date: Mon, 8 Dec 2025 15:36:21 +0100 Subject: [PATCH 5/5] adding push cause norme and adding functions in the H file --- push_swap.h | 15 ++++++++++++++- stack_functions/push.c | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/push_swap.h b/push_swap.h index 2c4d8cd..c93124d 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:39:22 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/12/08 15:34:51 by mteriier ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -26,4 +26,17 @@ typedef struct s_stacks t_stack *b; } t_stacks; +/*STACK_FUNCTIONS*/ +void pa(t_stacks *stacks); +void pb(t_stacks *stacks); +void rra(t_stacks *stacks); +void rrb(t_stacks *stacks); +void rrr(t_stacks *stacks); +void ra(t_stacks *stacks); +void rb(t_stacks *stacks); +void rr(t_stacks *stacks); +void sa(t_stacks *stacks); +void sb(t_stacks *stacks); +void ss(t_stacks *stacks); + #endif diff --git a/stack_functions/push.c b/stack_functions/push.c index dc0d101..ec8944e 100644 --- a/stack_functions/push.c +++ b/stack_functions/push.c @@ -6,7 +6,7 @@ /* By: mteriier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/08 15:09:40 by mteriier #+# #+# */ -/* Updated: 2025/12/08 15:28:53 by mteriier ### ########lyon.fr */ +/* Updated: 2025/12/08 15:35:23 by mteriier ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -19,7 +19,7 @@ void pa(t_stacks *stacks) if (!stacks || !stacks->b) return ; a = stack->a; - a-value = stacks->b->value; + a->value = stacks->b->value; } void pb(t_stacks *stacks)