From cf4ec95b1283ff90d63a74efae47fe727ab9c26f Mon Sep 17 00:00:00 2001 From: Adam Joly Date: Thu, 22 Feb 2024 11:05:04 +0100 Subject: [PATCH] working algo :joy: --- .gitignore | 1 + .gitmodules | 2 ++ Makefile | 5 ++- algo.c | 61 +++++++++++++++++++++++++++++++ check_error.c | 66 ++++++++++++++++++++++++++++++++++ libft | 2 +- main.c | 34 +++++++----------- main.o | Bin 3560 -> 0 bytes operations/ft_pushstack.c | 13 ++++--- operations/ft_pushstack.o | Bin 3392 -> 0 bytes operations/ft_reverserotate.c | 17 ++++++++- operations/ft_reverserotate.o | Bin 3896 -> 0 bytes operations/ft_rotatestack.c | 21 +++++++++-- operations/ft_rotatestack.o | Bin 3648 -> 0 bytes operations/ft_swapstack.c | 18 +++++++--- operations/ft_swapstack.o | Bin 3864 -> 0 bytes parsing.o | Bin 3808 -> 0 bytes print_stack.c | 27 ++++++++++++++ push_swap | Bin 37624 -> 0 bytes push_swap.h | 11 +++++- stack/ft_stackadd_back.o | Bin 2680 -> 0 bytes stack/ft_stackadd_front.o | Bin 2536 -> 0 bytes stack/ft_stackclear.o | Bin 2720 -> 0 bytes stack/ft_stackdelone.o | Bin 2544 -> 0 bytes stack/ft_stacklast.o | Bin 3032 -> 0 bytes stack/ft_stacknew.o | Bin 2656 -> 0 bytes stack/ft_stacksize.o | Bin 2632 -> 0 bytes 27 files changed, 242 insertions(+), 36 deletions(-) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 algo.c create mode 100644 check_error.c delete mode 100644 main.o delete mode 100644 operations/ft_pushstack.o delete mode 100644 operations/ft_reverserotate.o delete mode 100644 operations/ft_rotatestack.o delete mode 100644 operations/ft_swapstack.o delete mode 100644 parsing.o create mode 100644 print_stack.c delete mode 100755 push_swap delete mode 100644 stack/ft_stackadd_back.o delete mode 100644 stack/ft_stackadd_front.o delete mode 100644 stack/ft_stackclear.o delete mode 100644 stack/ft_stackdelone.o delete mode 100644 stack/ft_stacklast.o delete mode 100644 stack/ft_stacknew.o delete mode 100644 stack/ft_stacksize.o diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..10d1df0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +visualizer-push-swap/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..8122dac --- /dev/null +++ b/.gitmodules @@ -0,0 +1,2 @@ +[submodule "libft"] + url = git@github.com:KeyZox71/libft_new.git diff --git a/Makefile b/Makefile index 4a4a49b..16c3c56 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: adjoly +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/11/01 11:03:22 by adjoly #+# #+# # -# Updated: 2024/02/13 14:04:13 by adjoly ### ########.fr # +# Updated: 2024/02/21 17:40:53 by adjoly ### ########.fr # # # # **************************************************************************** # @@ -15,6 +15,9 @@ NAME = push_swap CC = cc SRCS = main.c \ + algo.c \ + check_error.c \ + print_stack.c \ parsing.c \ stack/ft_stackadd_back.c \ stack/ft_stackadd_front.c \ diff --git a/algo.c b/algo.c new file mode 100644 index 0000000..13111ed --- /dev/null +++ b/algo.c @@ -0,0 +1,61 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* algo.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/02/21 17:29:26 by adjoly #+# #+# */ +/* Updated: 2024/02/21 19:19:55 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft/libft.h" +#include "push_swap.h" +#include + +size_t get_stack_max(t_stack **stack) +{ + t_stack *tmp; + size_t i; + size_t i_max; + int max; + + tmp = *stack; + max = tmp->nb; + i_max = 0; + i = 0; + while (tmp) + { + if (tmp->nb > max) + { + max = tmp->nb; + i_max = i; + } + tmp = tmp->next; + i++; + } + return (i_max); +} + +void ft_algo(t_stack **stack_a, t_stack **stack_b) +{ + size_t max; + size_t i; + + i = 0; + while ((*stack_a)) + ft_push_b(stack_a, stack_b); + while (*stack_b) + { + max = get_stack_max(stack_b); + i = 0; + while (i < max) + { + ft_rotatestack_b(stack_b); + i++; + } + ft_push_a(stack_a, stack_b); + } +} + diff --git a/check_error.c b/check_error.c new file mode 100644 index 0000000..9d880ff --- /dev/null +++ b/check_error.c @@ -0,0 +1,66 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* check_error.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/02/15 13:45:25 by adjoly #+# #+# */ +/* Updated: 2024/02/18 18:30:08 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft/libft.h" +#include "push_swap.h" +#include +#include + +void ft_check_args_format(char **av) +{ + size_t i; + size_t j; + + i = 0; + av++; + while (*av) + { + j = 0; + while (**av) + { + if (!ft_isdigit(**av) && **av != 32 && **av != '-' && **av != '+') + { + ft_putendl_fd("Error", STDERR_FILENO); + exit(EXIT_SUCCESS); + } + j++; + (*av)++; + } + (*av) -= j; + i++; + av++; + } + av -= i; +} + +void ft_check_double(t_stack **stack) +{ + t_stack *index; + t_stack *tmp; + + index = *stack; + while (index) + { + tmp = index->next; + while (tmp) + { + if (index->nb == tmp->nb) + { + ft_stackclear(stack); + ft_putendl_fd("Error", STDERR_FILENO); + exit(EXIT_FAILURE); + } + tmp = tmp->next; + } + index = index->next; + } +} diff --git a/libft b/libft index 6af3df4..41548b6 160000 --- a/libft +++ b/libft @@ -1 +1 @@ -Subproject commit 6af3df4973756d3db79646a4c454d6b3de735b21 +Subproject commit 41548b6c5301f6a4f8d13baf9af9233d0e3a775d diff --git a/main.c b/main.c index b632e10..63d11cb 100644 --- a/main.c +++ b/main.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/04 12:14:22 by adjoly #+# #+# */ -/* Updated: 2024/02/13 14:04:47 by adjoly ### ########.fr */ +/* Updated: 2024/02/21 17:29:15 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,31 +15,23 @@ int main(int ac, char **av) { t_stack *stack_a; - t_stack *tmp; t_stack *stack_b; - stack_a = ft_parsing(ac, av); - tmp = stack_a; + if (ac < 2) + { + ft_putendl_fd("Error", STDERR_FILENO); + exit(EXIT_FAILURE); + } + ft_check_args_format(av); stack_b = NULL; - while (tmp) + stack_a = ft_parsing(ac, av); + if (ft_stacksize(stack_a) <= 1) { - ft_printf("%d\n", tmp->nb); - tmp = tmp->next; - } - ft_reverserotate_a(&stack_a); - tmp = stack_a; - while (tmp) - { - ft_printf("%d\n", tmp->nb); - tmp = tmp->next; - } - ft_printf("stackb\n"); - tmp = stack_b; - while (tmp) - { - ft_printf("%d\n", tmp->nb); - tmp = tmp->next; + ft_stackclear(&stack_a); + exit(EXIT_FAILURE); } + ft_check_double(&stack_a); + ft_algo(&stack_a, &stack_b); ft_stackclear(&stack_a); ft_stackclear(&stack_b); return (0); diff --git a/main.o b/main.o deleted file mode 100644 index b483b5635da2bb737ab85e7d64faf139e850e3ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3560 zcmbuBU1%It6oAjnWM((J$>wKk{~{95T0t^Nst>J}nxbnqvG$=gT7n>t6=w(HW>n>u|$FnfIA_mrfJw11$Z}h8uV=<`sPVVJw473hyUm|H5 ziS}Jxi4LvP0?=)Qoz}o^Bk@@L@%a8dL&+!h02n6djE0f`O^}-oDtFI*1=@OEmJx`X_b_w5x zzBseVDh1XeswRDLQdk}D2i8l%>SXJbu##kfDPB$1+o-K~C9pK>3YH_EP%VnSBTA}W zZx?5d`qw)_l)s~LG76UP9m!TbzuKM4JKjY1v|FxB6}|5M19qR?-_w7nDrz5rf-~jW zIq01%7TjKE>~t}Iw)d%Gu3B(CztUT(Rwgr*SDcdYgDKAkCkM_np3oyKg~}1dm&C&O7aEfYMggM{^2+u zEB--(0r-3y{~r~9HsP0T{QnN|7?$NYBYaw@zc9zdDukFE3jvwzh>P??5T!FvA_nmX z+1?rAGA5zDAx{21Y|DM2Vbw1fmLKMNl^a z>ujG__(isB3O~vAdkP`sGScJq$yQ@*xy#RBDd=~3~^FwV(4mv=G42hKtJDQ~H>kRK*C#25*eva9PIxN@t zlDrj$SeE@uP5Fz;YWrb66#M_B{fSV_uT%^OuNz z85^zNWp +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* 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 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; diff --git a/operations/ft_pushstack.o b/operations/ft_pushstack.o deleted file mode 100644 index a52b646cc11458a84a869a97f671a80eb6bd2bd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3392 zcmbtW&2Jl35TD)kI!@g9BZ*3qR@4$7J)mylmIH;fHEIKHXp2A!RD#Ov#+wgnuPu8W z5~PZ%sgNvRk_!@C__!b;Avkd1Qjp-lg+nF&060_x38Zj9iUd-a*`2XBuP#*TNV_xh zo8P>7Z}z=szcYK`IbG90M1#}N^8`gb*s}|PS%54u=Zoz-#f{%{#rCz`V!O3d{6=`U zXqavCik;b=Vh4)t*=;d9#YAAXN$nOpq_&G~LN9Iy5Jon>&t3U$(Mlh=8H|}eat`jd z9u6t>0yC_KGo(T|8MWRHMS^;D2ehpASZdTXQkjPirLx*c96+}a9Elgkjnvc0XOc%J z&P)IpCg=>D9|ed#xz9DzKxq6RsxS*+U{o_w$s`Q{kQfFdb$*nbr_ddI6y4LwB%1IW zKCxiYiQr=#2yFFr8v$KF8x8Fh^0c&}Z>@#aXQ?CwH$caFG%&vpX}yO?#mCn zZvNpQ-=w$s6~5x~<@K=v8abn95~P2|M<0Q}{*~;}M7WvEm>HzZJ1x&|5_;arx$LQ_q zePM&o)IJa$156bPd?Vbncf|}Cz6+xhFcPV2GlLEg;lT++TkvaWXP6UJBka)njYuHJ zHr)zz75}pr$_>U<{^mXSc$Wn-gzxZ%34OU?2#J>)QZ*VxwSn(EXV0ks)wVuB;e=NLftx9FJTC&S! zy!My&(JL#S%YeIFT5Q-=H@wGu*DF^_i)Hmzv#_9VJ76`}tEA=H?^!mES1a4TP1L-V zmqk5*{s42M=TwHu2fud!KMKH_`WY4aoggfFhA3X37s~BWb>Hfpk;X{$91C%i5Ahoe zP#%4Eo)(NVehW3#KhD0WEKgKjo6J9|#g<&sV+`Jif@rJU6MZmBd5?*IkP{I#AAj8X zu78Kuzsm`WilPu3!E%H}2^FuLvQO$4_@M{z2^wneDE1LgYKMuGM=eq7 F{|nVvX)XW& diff --git a/operations/ft_reverserotate.c b/operations/ft_reverserotate.c index 0e6043f..7aeb3b3 100644 --- a/operations/ft_reverserotate.c +++ b/operations/ft_reverserotate.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* 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); +} + diff --git a/operations/ft_reverserotate.o b/operations/ft_reverserotate.o deleted file mode 100644 index 0617fec9d4aef265280ec89b13f9bc3f4d5fd7ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3896 zcmbVPU2GIp6h1Svcf0Mj`%CyWbRR@a3{#3e6f95!m8BqwD5fNmWwtxp7Wb#worPl3 zNGxiaCIsS(4;qQl2V&xj(H9Mnfd3}?q9#5l4;s<%fF^1af9g4R&fQM$E=oMf%sJn8 z&pG#Z?%926c>jZ@VSo|?cEA!+EWkq7l078NAxNU|6t22{4)1n+6Eo zw+xCn5F1{J%8vr*NE=ox8l@Bfksh#Od(#945O&^)a7Q$XCM@C;!Uvt?{&h=Rf037| z$mh{89wTJLE%V&8Z(T+eGS5v(lzh)e6B4Bu9hE3eXenDC0?yXk%+`DPRz4e=J{zQu zplsq}e1*TD7!-3w2dRXakVoJ*qEaC3zsOEUppzU#NXU>w`9{TSWX4KPWju4-t<@*1 zl}!H@d$ZlYsefxjw%!ZXDYxc$*i`Q;dbyfQj&7~$Ii72eLEl8R?Djc@W7X2hzTMTa zM%k@+^}eY_eIi#s;Y@)Z(?aB&Rw@s5&l!6HDtVZ!cu;YtJ*ek=&SRY~)=Ey@1No9o z)KEi53dO9x&I8=uJZWVBR`?2xCl7)#oiNsQcSO$O0l5QtdPwLTzyqcZBOii;_%;mVk5~^WI+yquOFIzU4BLj5g~JWOfac=c z6aI1QY#w1NZitSqOQI({D$+%f91&|rM5ZWuN5uL;fut247n#GNH#{P`2SwMYSQXwU zRwC*g6dj|&M3g|33eSop>ewKr+9yJ2Mn^_(F$o<0ndDJBG450oNAM*d4NEF3yM7v%7wYT7RQ!ol$X>`5)x#-KIM4}K+ zSDfN${3NvOmbCmAtuqPv(`};s<=w?R-6)Fx25l0RhvGcrY!g|&;{^nPL_C2@Yw=%EtxQusc{ELjK zZj&hgi#~)LYsJ6MxUBJ?Fh0pzjq^O?=UA&e#~Gi~_^%kh#9HN1=k9gQe~$568c*ky zDqcV?5{N^H}b{uDK=0_NWG7F_TqA)*J=$Zm~)(Sc~kjYMBb4%24-e9PVeF ztQ4zYSE^V#_Z&F1N#+8(R61VHIfVii;PI9#eOY{Ivf?t~PUMO;r|eR|RKs&Cg;K6q zXbH!PVB;t}Cy)AMnY3P!b8RRGd#M&2&!OOcyI(EO|JHO~g7=I{^qu@gf_0ZRA|M)+ zb(y%}H%;zC^g>zmRr9UiopEdl-Yd%S1x|RG35uh0C4V)cUd_C~&Z++`jFsBS16BTt zXIjP(M_6&nhx8sMpAM2}>%Nb);V9%IcC@qr4Z;ERZ8!f>`I8agZvL2P{Ox#_{sU ze3M<8zoK47quu(Q;`5tjM_NCszxw*g{|@XERHK~K)F!7vIDW98| +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* 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); +} + diff --git a/operations/ft_rotatestack.o b/operations/ft_rotatestack.o deleted file mode 100644 index 88a3d21ecb6e87f6c7e41d5c62244c0c9adf1fd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3648 zcmbtWTWB0*6h1Sv|7Md-HoHlvZ6mtHOCO|@ruxv@w63<%ZH!`th_|qr-JM*Ty|Fu+ zCeo@HRAL@X!50OKzNio4gWv_!s$Of0)H zy6(e+>lBT6!^bgH8`+gCX&HSv6O$3E5BV7@vF!4t^yJ0q-kXnus-KkgzmzY=p9?fZ zzwqkWYre63DLHv@jmLAn@pT94c`#DOZHaziC6YG`CQ?RU6u`8R?2Bf0T8X>khvR#9 z-Lnh85@0fMq8}h~*A^&xf!OE{RDKpfN55eu;&Cbg5bFUeaiX8VL4=*RB0L(8qX}2> ziQt1la`n5Vt^d&cO+`M5hVd97qt`OeE&A4ns3PXMnnbBjd^9UjAE9>s5CYC0Y~>G9 zerU{|R?Hq5BdD7A9DkyhDF?+I=pdCelX6FCTg*O?_8(;T$Doq}L`2AxiF~u-HPeNX zQ<+IGxb?d?e9lw4T+5Z5 z20A>aE`JO2SV;!u@_1seYgPla5GckokAkt7GzPmnVr#hdHzG$53GFc4n@GN79_xvk z6Byz9Mu^>ns}5j|M$p8;1T>a4CC)a4=Flv_!#Y#4lcTFgSJe#@EG1& zWP8>>FrBTVY4sYSyX%68N5{m#h=`4e!RUixH=>>q5r13^AnHeCj)>Hlh#;~MrA9r;)dPKk%!tDA?q+&;eiL4QQLcnRAGNU*LoI$v}i*y98ZiacS_Cep`w)j)r zLL#t0=#<2kf5x}@Ea=(By^c(B8w)UwTwh>3a_^D*iTNqiByvwtU%`js*N8+>{BE?v z>fa)x{3b&U=bueqD$LUgT5OX#!!|V~`l?m@ivga#Y{j2vUe!^x-VekF>wFa8gLSa= zN}=nl~wf$A9pLm{)ZQ zjE`yjYm857{Kt%Q8n3RndFIu4rWh}2@pZ<_8vhOBS6Qn%>b$(E#jAY!UP#ouzV#t| z&06svFs5@zqWE`w2;Z?*{2Ppa*7&y>|Elq7d}-!sPlEfB(fBFGN~?G^-%0kXbzlgw zcn8=;H{YDeIr)6uT>!i8mK@uo){nP`Z0oY!+l6YGt``;F@ai1vr_WWUt6HN3yHfRB z`+ZLO2t#=(>MH=B?{c6$i97-Ivht(4NFa0TITOk!JdD8>@rTJ+6gF^Qpalvnt{2BT| zQQw1)w)eJPbOif^id*L<@g5V@6X{G)uOZp#EBFmHz5f7XrPPI?k4ud|sFkg9Ned=l z2$E>)v6&E#QeNi3KM4dx&p(X5u=%g?z>_p-6q-L#`uz7JM>R^DRe437`GU9s6t|?zhQojhubQl^5x&+7Tcb`qFzBGZ2jKih01au ztsmW+`uaVKT-f+Gc>F(dzEXND_4Bazuk(x4Ii>g0zX|>QbWd30n^jcL{j_ogoZ diff --git a/operations/ft_swapstack.c b/operations/ft_swapstack.c index 32fe222..9d437e3 100644 --- a/operations/ft_swapstack.c +++ b/operations/ft_swapstack.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* 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); } diff --git a/operations/ft_swapstack.o b/operations/ft_swapstack.o deleted file mode 100644 index 937a0a554cd3facf4cded6043cb16f4c41684ac8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3864 zcmbuBU1%It6oAjnWHy^_vb*_dO^uX*)jmjPlj?)5{aLBiG}eMbq@raro1HXi_mAvs zlB&VlQYEZt3er}5DWV|wBIt|MAFzE>U$y9qFIFD}4A=`zODMp#4NX0()GYL(=fv3Z4`a(qH^v$VZZu%|z#pWH zHL~$WoV4Y5~F_t zEUiWctGQ6iL#+lzuW?th-?ozJ+lG?8MqdoTbP)E%vV&G~SK@)hw$1xC16Veg3=Z}K zbllfs+9@C!+k_&B0_f~FtYjiVDFEU$4^F+0yE>yP0Qe z=(Cl4(5g~8Ls?*dhkEQf5p3o_CyBI~j+3OhnSG%2B~05DG!hCa7LWb?V~&Es`p-~RJ}RZ$F5pt+RxP%+-l8tr%pIikeR8Jyo_5o zUMZf;JXD#gm%OrH%T(*N8RZ92e=%}ysO6PL$#Qr`R8}bGVYci;*<19XmJ1k;N>1RH zs(}~gP$ZWJ_;-r{7@(D7GoF0{jK#Du)ZH0h!K&PWjDFN;$Kk(dX`Yh;K!_Ff~ub}{UBJ0EXtZ<*4g|C>aGlRO?dz4q0PoktI{87{?k2Hzf z%Ye#dNhiuftkX-29_v4E1#Ke2>BT0z%v|zFE;)O8p0n%Zc}vTKuWHraXQ}7;D8i%j z`FtHN`RMwiT+-x)Ogy@qee59oZnif?xa1^sdxTS-EZbXHQhl1c0C3Mbd?#}m*JXRZ z#$RRoag9s8jxv{VW#3O|{<42{jep4Yi&~yZwqIi@^HkRqvNtsTG28F3l=-Z%{ek9x zn(a?CF7x?96}o!}I_eEnF?&FAO5d2r^uqU-o{fjLu^65WX{_Z)lI{5f_FqG!v~ zm6q2!IOU4(IgcEk*dAPePO&&&%DIICUew20VvDn7kAXLno1Sw^9;K?*eXm?7=B5iR ziSfR0aCG0zqdZw6$rm-=r=q!-uTpS*mt04kQCaSPmUO=4ofJ*-oBAXHxE_V5Q=OxY z?r&nzXPx@9^oNZ;-J&fWHBe9CFZ#Zb?h#J7%7EhN{HV_+l!MH_K}qB9U|U2tPn4G- zIGn$%gQV!86Dk`So{qvczWdrR3c0}X16p#;gk9*{ZvDgRn-Sm$KQy#{Dv7>+y2mKz z2>zn&J&wB?g{aH;BI&){F22HtV%tB&ABp6Qx}I-$sM`3x60j;yH%xJn<1dCJP-Ojr zUq+=}{T6xSC)tteNB5w_%lUZ@nbd+^l^Efq-$r2@-+5&1#=pkn%Q!SXeckBe&mgl7 n-KwBCg}<<^a=g@q;;HF#y^KtJlmq{z`LZ7701|Yh^zr`!6XLS^ diff --git a/parsing.o b/parsing.o deleted file mode 100644 index ac178ccb42ac1353a7cbb2352c18685ba08f3fcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3808 zcmbtWU1%It6h1SvcXqQ$b~j0_iH+@2fBGPuO=_j7hMH2N+t?PgR3aEQv%8aI+s$m) znN8DbXmN`gqGAyre36QvB3P;~^{--WX$va&qC`Z94?+Vf5qyZWG@f(k-tA=Epx}Yo zbIx~u=ia&Z?6Lkm537m-k`&khH#La@%tvp^eO&B=1bQAw&-{|E{+dY7OfRJ`_b-wu zJ=?#Op542cuJ&Gm_=$~vXtwvtRpEp7FO>95|Kh?|%gf8@+36+EQoWcMx)9%Rg4|^O zu9@lU>6ywRmYDN}M<^UIU&fbU|rR?uxZBEta@-U93fE)d5rk z!B)MmU5nk{_(0>Pjt4scGzO{wcDDh9wyscFFl2Wd1?h1h=kQu&UNV44o1(=U8!0nD zLo;Zx-EE}wpc=gs)g6tEC_)GBa|k&`@EvdBa`0y(+EfV+qM$rMniAL4lT)7b7qXCg za)N6uQA);0Ci)T|5z+Y>${6(w;Y#Okp5{e$iX3Cyww^pO<1p7Y2pbg#CCT&a=TQ!S zO$d^@CPFNsCK`xSX0;W#{3pq65#XOM3+WW1-=H52`{byugm0mqku-xN;RqbaR&2MD z%oR<0G&yONokGb@c5gAdjPA|d+bi69FHD$dut$v?q{d3)R?5sDEESKW9xCN3Q)XKPE=D?ifZCLqC-gHfH$0st*M6uxF+4)cJ;Jx`8kAZUZaZsib%DSd- zXU;v29tmUvFx)vT-g(ZjR#dS<@YP_v)o_7=<$0@_wZQLe?BiP2)?qZp8? zIOSBakWCefljEDaw{V%SdCFVsRKd;_D|riiOO4UBWi`eqljG*|)(Fb{Lv5&iu3B7S zq3Ai*P-V^f08c*PZ2&)qCz*Pdg@>4mn1UMofB_39SnN|4t#Xvk^qWYt34Qd#_4YTb;aoYe(4X`_07J8O3{Up=Qve*#Q(88#KHu(vQYE6Tb zPt|b+#Cp|ZmkgUmtsN;Qn6?_-st-gNv zw}IFT0v|?BMCYFDTmEkZ^2`xdAfwYUT|uwb`DU!XBB+Az-8UXgiiZQB=M@Jg0xHgMS%|qF6#~p{gB|&|0$s# z3E=Mt{rLd?p3q+l;O`6ltpNV9&_4*^vQIi+M6#c!Jr%wYT;h(vAM;n{MG>Z7pv8}^k zjWNFkPV7jG(e2?#E>t%fF1B23-~($FUa`g`T4;GMS)jsAN=`koO9 z-xWX{IqfgqK}78ygJ$G`65Ns%;OoLqvY_w&RpPG+$J+w|0TuRPe7*h$!(PQf@ljI$ zbiW1r??H@m%KHsPPVHh-E=WLdSzmIxN9)D^DB?H$OMFJe2i!od_fmCy&wAK||Ljq& zh=`YSlQ1Ir{+1`OjAxg1&E}p3fBJ{-}2>o diff --git a/print_stack.c b/print_stack.c new file mode 100644 index 0000000..657c96c --- /dev/null +++ b/print_stack.c @@ -0,0 +1,27 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* print_stack.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/02/15 11:05:52 by adjoly #+# #+# */ +/* Updated: 2024/02/15 11:07:42 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft/libft.h" +#include "push_swap.h" + +void ft_print_stack(t_stack *stack) +{ + t_stack *tmp; + + tmp = stack; + while (tmp) + { + ft_putnbr(tmp->nb); + ft_putchar('\n'); + tmp = tmp->next; + } +} diff --git a/push_swap b/push_swap deleted file mode 100755 index de2971185896a6a3f60a0e79d11512f6791dab1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37624 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 diff --git a/push_swap.h b/push_swap.h index 6b7202d..6888319 100644 --- a/push_swap.h +++ b/push_swap.h @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/04 12:18:29 by adjoly #+# #+# */ -/* Updated: 2024/02/13 14:03:29 by adjoly ### ########.fr */ +/* Updated: 2024/02/21 17:39:21 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,7 +21,11 @@ typedef struct s_stack #include "libft/libft.h" +void ft_check_args_format(char **av); +void ft_check_double(t_stack **stack); + t_stack *ft_parsing(int ac, char **av); +void ft_print_stack(t_stack *stack); void ft_stackadd_back(t_stack **stack, t_stack *new); void ft_stackadd_front(t_stack **stack, t_stack *new); @@ -41,7 +45,12 @@ void ft_push_b(t_stack **stack_a, t_stack **stack_b); void ft_rotatestack_a(t_stack **stack_a); void ft_rotatestack_b(t_stack **stack_b); +void ft_rotatestack_r(t_stack **stack_a, t_stack **stack_b); void ft_reverserotate_a(t_stack **stack_a); void ft_reverserotate_b(t_stack **stack_b); +void ft_reverserotate_r(t_stack **stack_a, t_stack **stack_b); + +void ft_algo(t_stack **stack_a, t_stack **stack_b); + #endif diff --git a/stack/ft_stackadd_back.o b/stack/ft_stackadd_back.o deleted file mode 100644 index 97fb729c578b1e9094052b63410acc99ce24ce15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2680 zcmbtU&2Jl35TD)kTbnwuUArnR<--S{2h?=~m$Ze}s0214tprjKpR(7^CJwdN!Mje= zqC$m5g%u7h91tKuk3DhVfas+{f`0`ml{f@(i3C!Z+4siTyton)qun<%znOV&-g`6e zc!9tXkDJNT{q-mk_%Q( z$8raaBBo(F2o~+?5i55(dnSAQ=((c+mH<-$vn7C39*Bv<$fO&9T{5g(HcK%8=}EA1 zvn5idQO!Jw>e*}-Mfeu~6lDUL_#`G`Ss&^Mm<*C)yg{0gx6E7XQhFB|YO7N7h^1&u zE#V+OARWm(6d!HDETl>Of}kSA^4BDnGLRvINTuSCg+@P!`sHTZ3zo}kelJ|<2IZ+| zos-VgiK$cl*!moVk=MLbS&C}0;4LoJ8VEQ|sIJAM#_mDPUO zs)d)mRnTMPR1h>^C5RyK*CPn!te|E`@G`)E%j*zr1sMAFSP~lVU{j(#9 z+x`GzmhvISD-tf7MH-8e0pm|A{cr-O$AO9RA!7e?QiaDAr=uO+6Uxs#06(R0o~N$# z^BT@w_nL-(sq{-4zM=GA1R&J;XFCMtn9ScNONgT&~9*ry~{Z^CBlQ8JMw`BZ2cLt^tu_W^T8U7rFap(7$sz1JGIzQ@lj%WNj zVtP&p!5x+Vccdgp_x%uUek#8|-zO z6e=R2R+tKj4RJBUilPpWg81zBe4~d7s_fhte$z-G4ocAH;itA0vF{ z(!O`6fNIYhdZ^#rOQ>Pt!+YweddjI6hSC#1$iW3FQYF*)dONi~K!s>CMLww}mlD z$0 zlGg$L+s^1L0LM}V>c%^uw#(|&biVKvmiuw!X^>D=;T5NR+gO;fjRlMV_ztNYEaF!w zb>EpGMZXdbl^m5%?z%935IjA`jZW&e(_e6E^gEg*W#y0DwQT!6%e2?6{N<5Zx@6&nh2&bQM*I1aaZlrKF}|VkJB)8@{4V2fHU1OEv#jZ? z+4Clk1#)^Fz+DZRgY|~rZ1#dJaAUe{<2TZ6MP0hL65fw{;P!%!&*>ZCS_Ezw#ew_! zTPtVMo8fjkTiph}1^8yH9}4emgaH#l8(#{)8;mcCx5veGV!w%cr%U?(%g;DPw*O?t zZEmLDgMEzepl$J@x|f z*?T78e{fOSoZxUAK7omxV0{)fg^#-#dr+&@w$s^3&5U-$?)eNRZi_q_hY>PImo zS8+^Q|H_2*>2;R<%lgUx2+I#>8@o70BK#xY^wWGLs?w{WXpimy&5qz*8l(j diff --git a/stack/ft_stackclear.o b/stack/ft_stackclear.o deleted file mode 100644 index 6503cd38b666742ab9aa3149c8f9d073a7288f46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2720 zcmb_c-HRJl6hAYQJIQW#GudRRtrZFQ(TCE>t{;%$b2|j4iIKu&el>LKPpX_$2x!2nz}ppZx>ugJ3~ueOpk7=gizYJGo8K2M^qP&iS2l z?mhS3bMEERspnKh0YM5JgFQ{40H5i5a?uxykVelXYvVU-@JG(tSl_jND%~N|{EjtP z--WkJw~e<_s9T$*U29MP4u{s@$K3fJlo{obRF-L}^nC|YGfDqveQJDdR>idudQ2_C*qNS2aS^^+34O;4CmXrdj6Az<$ESW?RKEV;A1R>$y)s!#G zQx5@EfTSodlcpG&y1f=i=a9wJ?T)X_*u)sktd5iZ8tF*tY@AqHO(%%Ik3-FXFMmXG zHUSf4U@_*0ELHlh*Uwd(w!55Lb-KNkwws%O%$zglkIWzK`_{*y=h@W@`MOv3g=*8W zyJi*gjdsh)+qGBQ&5QYG+tq%{alKx?)9*FPz1Qsyj06OWfLnnT*8|sC^Pm^32Yg-d zT6ntumJyv{mL??S(iu?J(#pZ9cw!4L`2oae5Yb)2@l^V%dSY5vUGxC>9HAJLa8?xM zuhcX#dK(;ye?Wd-(}d9@;F-}UJfGPJ-fSX#In7X*KKVVH7%)S>#o2ejYT5#u($BIOij#{>)eB5{Mb$ASOz0l;G2$`!b2!ed?Um7p zS>r`G0-~aUUoSF@_}zty*8!Qx`u^P_b^%BFt`z{za*WEKcKI9Il1O|HlZa{DhnU!r z@StS^V%7HKgc;8#Q7p5eHB4{Pybg(E^yjg&Iuv-mL{Y(0~XG*?{T!q z7&$-5!B4};K#+Z@&&K6%aj?MyD1W+AIsbHKVTY^7tr5ve;MPTLIRQ-M2VU5RROS^9y(rg>m=yHLpMM&UAnDmxy?QUq(#M z2_d+__rFd`gk)d(cgF31W6b{aSIhg;|EQfBwvoMoBcxw>yx5QOClY#~0epjke0OB) Q@TS}$1&QLQ$K?J00jjkTDgXcg diff --git a/stack/ft_stackdelone.o b/stack/ft_stackdelone.o deleted file mode 100644 index 1d6f151c2f9cfadbff1993e867aea63b11da382d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2544 zcmb_d-ER{|5TCvCT^yX)hmH7F<%&W*38^oY;15AUNUg*JyhQ>j%?fWz>?Qz*b|>w`TZ%?WUjIaytLSzUbPRF@W(tBVWEQ22?M{|sYSy}z*hH*u?r z&zvhy#d@(TU$V@+vuRs?y(roMMgd1n7e|Wr#AY*pDED=4&z2)w05TRB44f(fSOp+u zZ$y>Q0ESA!%;$0x1CSjBGk>Z?&N#ZmJJCIy%b^KN*fQ9VBv&>fZN2*f0mD=%dEydz zqL48j&L`GcQr1Q6>>8OU#)ctMj^SiU-@#@SLE1l)UCIJ&1y~tNhD_G`LEJAlI$khc zp7VRrOc<2MzH;}wWBbMq_T}gSh+?mCz0!(n(rEgfF!0?5RN7(JuXxSx!_Ljhv9Qta z`av93X8TdQ7Txe>;p2$pGZ55aCWs;M=VOSHF9LrV;J?iWU;`}zMcg_MV%`zkMuxJ# z;dX9Ej2a1T8XV0#_l$2x?G_Tyox_%a6W9wO-sVS1(J5dPa&f#?*9C3%xLzc!uFY+O zfpIV_d$P=eutwJXY1#H=%e1Ghp()F-zq5orW!RX8D4&*xIFx}mD}xwjl4;G5$z`Mu zm>_FFhrxukrS=Q5oHa~yOl)9CRvAVwQA8;83|8{9u1UY zq9mX2-Ry5n;i)SQTT?jkzhVC~*0jB=CxP~tpTG|>uI6)<{bL&5Wq(S;=@OA#lYO#Y zn$K$gGuN$o%_hDG)7nk=D7rHf_zd{%TC3-E zeQ5Q3?DW^d#l*2!2RFLeCH=q1@A#E;y{V5L5Y=R9{_X^kV z3jHwX{B?Q6liJJ!#G`YRFEMI`Q*M1u2*GvgP~=OWn6lTo2N2aUBEFDpfL~cFrE~F_ z8#w3bO%S47ro{R&<{W6=3$x&G8S)Be$$qv93*17iA|5Q1x*U%eBAk?7nG zVuSLR2jr)>SkHeJG4u3Fi0TfuRT<}am5=66qWr`I_yY}n?`Z5fgMX2OLUDA*^!)Du D@?qcL diff --git a/stack/ft_stacklast.o b/stack/ft_stacklast.o deleted file mode 100644 index 3b990079f9c04bbb1286766b86f4e14a652657b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3032 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 Q`aD$M5I~_kni0AFV|82tfdBvi