From 7acfa0491e547f29ec74b09b66d7605041a95327 Mon Sep 17 00:00:00 2001 From: hugogogo Date: Sun, 13 Jun 2021 11:01:17 +0200 Subject: [PATCH] tout casse en prevision de faire des fonctions compatibles avec celles de luke --- builds/algo.o | Bin 105016 -> 105144 bytes builds/pushswap.o | Bin 104432 -> 104360 bytes builds/swap.o | Bin 102504 -> 103048 bytes pushswap | Bin 86400 -> 90536 bytes srcs/algo.c | 51 +++++++++++++--------------------------------- srcs/pushswap.c | 2 +- srcs/swap.c | 6 +++--- 7 files changed, 18 insertions(+), 41 deletions(-) diff --git a/builds/algo.o b/builds/algo.o index 69b77a364fad904f0a9df9b8db3e2f60e9497029..fa70d6ec6d6bddd318c9f861b954f03d5538ca88 100644 GIT binary patch delta 2180 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 tH0O5OGAF0!>||6=VNk|D+qc5#x+z z#+YcvB+hj-pGZpsEi`Qkwv33&LJ@t_6sC3CKo1IsXz&{!MSK69=V;PvDWDyp~UQ?EYnU<`i zQ7_Pb9R6AQ5(pXm)fb%a0|aMfw=5vC^hDaxG=dAZ+BvekvK#`YXq=O*e^1$v>ySZi zO#1zoHaPcAm|41`F}hz@mbC7y^dMKH@@=JnF;-cm^6{F|RBZ1OS)$!lOd%*+on;-$ zPQr{?-FdRIvWlCg8G9VSCj4;+kJxW-<5SEV2Z{B-SJMR%eyY&r0t@t2PW_K+|ti`oU+^PT6mG{ z2W5L}pJ>8Ul^yaQ30{x6gj5pXXMUMB0=>fF70+LjF{+l$~lD;`5`niVIN@)R%IX{M>X zp{&#G?l5vQRNj7CvtX4oRQ{@rH;Ai5I7{}YvH=7Ier~@VM}3y|Y_D5V1_8%Jc!kn8 zmC;TqKeWiw5v9!nR949DDC=}ZAH0Klg++f+%w4j#Iy98VUUrRmUoLXacTqP~4lCV? zVB9LNQaPdQlv{md*%M_O{$Em9B~A6Ynp`MTG^#wy%o=On;P;WcCjH)yK9u>LBf3W0 z0hJ87VuJ{;lipN%6XrUno<~F~JK@hUtRQ6YQcLcUnxEr4)Q-rqyC0$z(%<^+l3UE< aB#uCK`3uV~zYhaGckLt6%p(M&()AyPwOCsK delta 1167 zcmXZaO=uNY6bJA*muK?kVcTbnCU&90qSYWKx~S1b;-w9kDy0h-O0g<_#rQ!?ZAq=h zcPELy7?Zx_#ry>ovJi10r1J0sM99r1Q35ImD)@mbUv{BT$fBkGPsV}aH}{--&)j=v zZjP4BjF#k9nc5?_tIHCp#@Q`B6UBg6ep8}R?iDhLWg>lrk$H{A+>`w6sl|o=O0O*! z6s}a~5@zdz!kU^7SM!xqU1fc`%zmCeXTJTc#AN4}Ch@*SzAQ{mjitl6B=ZmR&t6x^ zL}B2~+te4WZHJGa+}(EImtT*b)K?xa{=H;Sv`i2rc;Dgu@Bi_2tFU+aLqGR`$L+Ed z&FxYdj?C>e2&&N2E*sA~kTnv;p`wNw zhfu_7RGtXu&h2=9pnj2zghVtyp+Bj4fhsuW-s*giF)(|KE z0IytzTw>K5pQ>I#(cc;z3+FySXts^EwTS};B=^{M+)pZ?YbNI|{{C*Q>5 N=V$^e@t=l#{Sn6hXyX6? diff --git a/builds/swap.o b/builds/swap.o index dab233a05c0465e0b0029048e2137f46a1b1ffd2..ef5b28d789e7fccd950b5ffaa8197f0ab62c8e3d 100644 GIT binary patch delta 27910 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 Eb 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 TO%v5sTU>n_&Va*2wGt}ZC*bwbF( zR+2_zHg3$rtVz_Jbv3Rl_*lfOo5jZ}7^5avlOdq-9ei!?SKT#S)cY6Q`ayr^eCO1u zs#B+{yQg-OX7d3}W31>bZ;JaU<%(5MnhOQNqUZ!yE&iKJ6cuPugys?|k{APLH*!c}*z^G|deMg{EoV{3BBe+B)54N9c^QW8YB zi9;P7VmGPbBk0t~Le(Hu*!U2i#CctrMR9QXyY!Aym1k>W!?;@K0A6&F!1J81VI4FB z49)=^n9bF$4B+)H64*C@_ZYx$<2;+U+W>yo0Nz~?BKl3O0}Onzimknrp4Nob6j}t^ z>efY~++nLbs5{W#O-_9cCOPVLT!)zRATfO|vv;4D(V|u|o#mvvL(!Kqo#mptRnZqP zolUWOo1)KyKBrNQGp8~6Qlb6mbX$S_J6qj_D`gXk8#H%D2!gG_t4;x{4?@WSW6?evLuz;-?bTX{jd~4=9&WP;LUp38 z&bpIH6IlmOTfKERG-m)N<+S0_rrB&bHcMFTQ*$eupk3Nw6Ok?!3v_n=kVWISOy|E?+^S0F&T-o~^7#1i{ zAtrW$?6BES$sH|=U~wMAW`OFm)dS$zh6V196@*B(U6>IEg8oBK_db;@jz>^vRYI$PcHJ^{7RVEu3SIPGk*jH=$J4mln~ zBYiDsXbrXvU6g;8Ekr=Jn2MX`X{KPTf?gL}@53a!a%Eoi6MLaFSUuS&U$W#QSw*-h zZ1(-|L$m-9YH43T;F4cs%y#)w<;xm$XR)fhWkwlKYUe|>kIB>7o1sk93jrL z{x`uX;UITkrR)8ciZ5Pu1p2>2%pE_$ef3b>tG4Z$H0+7XZ_-Uy*2 zFhOh!p~-=7lT6wkXvKQ9L51RO6CD>6DM}{#O3)l})g^i^=ok8vMl7cA7N%Sh97i(f ztHFJi30N~zhnNqi%i9yB(IcZ2A&rsd{ZwgKop$CII}AYV~NYDk?+ubUQ&Hv{SXkb1ut zFo07+9(y9Wc`DTpoh9CM(wByQCeCrv(9kk6iM|w?Dem{DpM+Y(kNxT2Lu*JZeJZR{ z-011}Jj{cL`+VtcbB>53;*R;(#GNj&l!|wI9A8@8NboLfyR)?y3AVGk#Cgz$qsm!H zFAjT+7->~_f$`)JxODbB?6Sm*eidG7tzy=yN2~@fWqDV6!cobK z8cw|Fk)$v~E-J%jKY%GHwViZ}-c9A+Z^a03B=iNLwQ-vieIy>S+724?+? z0KmC@2mssy)Zx){3m6N`yN&+9ggfZZ9!bEpz;EuNKkx_+%68xfc+5HVf}ha%Z&~(X zPdc1z<;uGrO-l_ITRUh)Y63~3_S6_sPPeB9kqUY^)lBBo?o_k5Z3)jX2s%D=zaKgjo#*bq4>dVZZ)>{c^wk9{6$;*4YQ_UH$fYK zE`#LTNk7jpX*WPD@1#Gbo3wi%Hg?jlG6Jb3!(DR*>LofnBSdo#(sf#x5uzQ60*&sX z^D<1DQ4o()dxlvv6Vf&M8O*hiGQLIxlV&5tx9Ft|bJRgdF(}TL9$4J-{foN*do@kY z4AHoweBYzvGD8X?A%&t~D<0@GvA@rgus;j?#}C-w@3+r}{Vd&%n5!V|rbi)t0BIw= z3h5xE!_<&v);b}jeNWS}!nB^a2PXYME3!=5c!;@9x-`qADTeqVU6&Q2eF2i8o9+hr zI>fcKD=S3vDWq@cZJ3Wh()LhOwn^IyF`h3vqLoTkXq=H>=11+BttJ< z5AzEUr_-)%Gnq$kb76F*v(Yx{rvKb$sOGg4Niu&oyaJld7!`Z^8aI_^BBnK*95 zcW+J&DRr#O2_j;Ng&rjVbX)FZQbs-U#)?}Ah(P*$o{v5XM*?fJ)nuM0?uK}%qR@+C zQN!BlAM&F7>alyOo`aVM*483O5ceJilWJ|F9{G7>i{q($Ga)M+^Pd<=$U^$w=wL(t zP`JTZTkmKe?Ll&^OL0rzQVt+|%cv%SY+$Tc`xJctT5BPSP32x*Z!j$vE@IOJ?~mVs zmP>sKOf?bAIhcn~jurTj4VPJnzcIH6HH1wK5ut{7(%ZpoQL1gGcNf#5StzloObs8S zYURR^PnoelTguU*#v)DA(Tba5ypSoa}2iljp z3mV-FdcPpTV8@piYdcgB3LME}1{2awtz)e?2Y)qoMBH!T?=GA|R~_-P34*6?1K!t5 z1)+aKc;ADLjWw;k`5HoAKh>zXEuqCm*Uj>>6X#4&basoO|b zA-U;E-)9$fiMr~Idvty}|HJR;@aN}NtxIt8v?O2XuG2N?ny%{(>kd2G%9pq!k9pH9 zWFbOLb@z9rC$Qx+UE-Hb*AI)a-i{-cv)nPAq&Z@XxZZu|)L0VjMhbRLi6t>^;z2J? zWbfRPK=Ryn_9l}FgshVCN0K1Y$RNPYAk<1PL$7H}RhK^S>W1g8>)w5k_ZM8h5k1HU z2(DkP9^?asX8sGygFIgF)!&r-2J-mLCRp$(+i7~7n2C}9=)`uAwK4c70-Jy|K9wYr z5@}^B`JVhB9eo_j>XTNaf%KKOr;)KFok0*8qrx*P{8GwKhf9O1H7g)(Oeaa?uhP+U za*p&$+cQX#>&G!=P+Uq;$wYW`f#u+Z|07ZJ6(0E=>58D@ua!8DCge@8xpoPP?u4~F;Q+sJ8Q zJokV29IW8{R(#O0ro5Q|=W+g*!3rHG{7ykZSi}wE`F!Vao_!**_1%_+WupdGNtxLs z(HM$EuvWygvx9q`l~%y3=HY|AotuZns@+~xLHHNvcSNYf>zqH!`4XO;Le4um?>aZx zDaG1N&hL&>R4Hf_F^Kt*Qrsw#kiw27*3=aX!sFOUmP&rhs774#!LyZ)h?ibNzryb< zs_99-##yi%#2~@-bFHgm74J9BtTIj9e;ManC1NE(#ztO{V3oFxo6kzgFsC#aRGP0? z*vic>^D1Sl_Z$9@vTH=;ZdhyuTQ#5?Vf6 zJ>KZp>b3lBg1r#4=Fj=X@v2^=f?xs9#(B6PpgXSiw6ay9V%;R_2fd^0~A< z2We^NkHE#;Z5nrTO5egf%!j9CIX5rjX4g5sRx;+2m>OM}YA@ug`3-lw?XU8G=KMO& zJ9yYfg%wWt?|SV?XB;Ba{GAOD>6Xov=Kl;N(7?k&>8468`r!Ldwh| zF-6hgs-vDyEm5m(KxDGY_wYD5oY(NzK;?S@wgS%2FiL;OBV)+>($zfjt#;v}1+%NG zq$By{=bit2f;8zx-+1Y{VvO&4om?fYD<h1LellF=UJmP zxrAisODxK)noFeh%*s_fLrxD+HT!@hj!G{e|& Pl4%^U`B|xA9Etu9z^>dE delta 6603 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 diff --git a/srcs/algo.c b/srcs/algo.c index ba2468b..a935aa5 100644 --- a/srcs/algo.c +++ b/srcs/algo.c @@ -6,61 +6,38 @@ ** then it launch the action (swap, push, rotate) */ -void action(t_list *pack, void (*sp)(t_list *pack)) +void action(t_stack *stack_a, t_stack *stack_b, t_list *solution, int flag, + void (*sp)(t_list *pack)) { - t_stack *stack_a; - t_stack *stack_b; - t_list **solution; - int flag; - - stack_a = pack->content; - stack_b = pack->next->content; - solution = pack->next->next->content; - flag = *(int *)(pack->next->next->next->content); // this is a really ugly line :p it's because lst->content is a void*, but we need an int if (!flag) // if flag == 0, don't print anything return ; - if (!*solution) // to print only at first call + if (!(*solution)) // to print only at first call { print_stack(stack_a, 'a'); print_stack(stack_b, 'b'); } sp(pack); // the action to execute + ft_putchar('t'); ft_printf("%s\n", (*solution)->content); + ft_putchar('u'); print_stack(stack_a, 'a'); print_stack(stack_b, 'b'); } -t_list *do_pack(t_stack *stack_a, int flag) -{ - t_stack *stack_b; - t_list *pack; - - if(!(stack_b = ft_calloc(1, sizeof(t_stack)))) - ps_stop(stack_a, stack_b, NULL, 2); - pack = ft_lstnew(stack_a); - ft_lstadd_back(&pack, ft_lstnew(stack_b)); - ft_lstadd_back(&pack, ft_lstnew(NULL)); - ft_lstadd_back(&pack, ft_lstnew(&flag)); - return (pack); -} - /* -** this function create the structures "solution" and "stack_b" -** and put their together with "stack_a" in "pack" to facilitate -** the calls of functions. so pack contains : -** - stack_a -** - stack_b -** - solution -** then it calls the algorithm +** */ -t_list *sort_algo(t_stack *stack, int flag) +t_list *sort_algo(t_stack *a, int f) { - t_list *pack; + t_stack *b; + t_list *solution; - pack = do_pack(stack, flag); - action(pack, sa); - action(pack, sa); + solution = NULL; + if(!(b = ft_calloc(1, sizeof(t_stack)))) + ps_stop(a, b, NULL, 2); + action(a, b, solution, f, sa); + action(a, b, solution, f, sa); // sa(stack_a, stack_b, &solution); // sb(stack_a, stack_b, &solution); // ss(stack_a, stack_b, &solution); diff --git a/srcs/pushswap.c b/srcs/pushswap.c index 8eed16f..eb16f9f 100644 --- a/srcs/pushswap.c +++ b/srcs/pushswap.c @@ -45,7 +45,7 @@ int main(int ac, char **av) flag = check_flag(&ac, &av); //check for flag, like print stack = init_stack(ac, av); // create the list from av[] result = sort_algo(stack, flag); - print_result(result); +// print_result(result); ps_stop(stack, NULL, result, 0); return(0); } diff --git a/srcs/swap.c b/srcs/swap.c index dded21e..5cb01e3 100644 --- a/srcs/swap.c +++ b/srcs/swap.c @@ -4,16 +4,16 @@ void sa(t_list *pack) { t_stack *stack_a; -// t_list **solution; + t_list **solution; int tmp; stack_a = pack->content; -// solution = pack->next->next->content; + solution = pack->next->next->content; if (!stack_a->next) return ; tmp = stack_a->n; stack_a->n = stack_a->next->n; stack_a->next->n = tmp; -// ft_lstadd_back(solution, ft_lstnew(ft_strdup("sa"))); + ft_lstadd_back(solution, ft_lstnew(ft_strdup("sa"))); }