From 7d9643bf63e849575ecf2035308242784e061566 Mon Sep 17 00:00:00 2001 From: hugogogo Date: Sun, 26 Sep 2021 15:30:55 +0200 Subject: [PATCH] algo fonctionne, implementation ok algo 3 et 4 pas seuls --- builds/algo.o | Bin 106752 -> 117512 bytes builds/push_swap.o | Bin 103664 -> 103536 bytes push_swap | Bin 193400 -> 198840 bytes srcs/algo.c | 432 ++++++++++++++++++++++++++++++++++++--------- 4 files changed, 352 insertions(+), 80 deletions(-) diff --git a/builds/algo.o b/builds/algo.o index cda35ae3bfc592e6f2993ee46e7bf50d8bc5dccb..97c2f0d1600969a7738b6c726eb3e756a100b123 100644 GIT binary patch literal 117512 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

rrXH~#&7hrDcQ#9>heI)F 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

    ?~d%)Y&Sz;ZvZE$*oPAQj2zSG_kCMaN=%iND5 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

    V|Ap{5V_@e?;hWck>-FKc7lWS{{abP1 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 HM*aT<=P7kX diff --git a/builds/push_swap.o b/builds/push_swap.o index 6cf1d4cbf256b9fc0f13d2f39c2a9e572fa1f5b8..30d043ebf1d4f92402d89ddffc30f1dff90b4c6d 100644 GIT binary patch delta 1963 zcmZ{lYfKzf6vyYz;=x@W?7#%eLfM_Xv18#PhWv?hMoF~x=trXdQ%PqdA3XU^_;!8IA1!+^W>ATyM`{tjZXQ-BVWeI!bN&cb)OI%@V8XjYhMb z3AGYCI?W_W)(k2&J`uq&EV zMhD4y1}=eQnTDcZOc zLl(yTo&KH6^z=%Ct6x44Z)BAIqSx9pyH0&g+q9=JOP#4asQ;VnWbWXZZ>ar@v2`cEwSs}}t?7Jkjb7dST# zt*OjrG_JW*l5Dt*7j0a|`*C-9#>Z>!>I%#5XO`Vs!Kv%(7T#jvA6ao%Kw zPc{-C23UT$@!?pIOgJB;wCe|Bz!rU<0R07h(r58JA?R3 zfi+M^&~hJ`L>~$22USO!4O$1%niOtvDr$kpM>?>m+k%Gpd9yj7b+S^qG7X&lSb71N z7%Cs8@!S;9sq{k7x{!V)Xn+^BS_mfLUFlr>2dI6l1bp3ijQsSr!4Mie4`w$i(*y-x z(#zmGi`pB420B z4778YeMHbM-fIIy&Y^ZeP>-0^0J47s6Ai4q0pqN6%w|wu3&7lizv=OvLifMc_2>dwm*w27a$E-Vwhp2J^5fh#+GwP%fZt>pZuu bgUSo|v$V3r!vfGLoI1t-A|jx-vOWI+l<)gp delta 2114 zcmZ{lZA@EL7{~9qg+dWZ%NV5&c?-BQ<|xY+n2964khV8y&}70uflY&q8RN?~%PMPu z7FW7LZ|{CSV?ag(8?(h2H)k;ERW`Oyeh{|AnD7?T>0*pA(dYCW*!{Ab+I~=3A`zUS z`oEoI-Wd{{!5^LB=P0{IFH7_?P`^eVClA~>{&noFlqsSs|EO5W*4xNztX5x0NR!f( zR`gO+E5_^OZ@pQEP6(vQpPWs5jfVts@Cp$GQEoII7Dx-bZ_cLaNb6V0l@2z0L-{7{ zNvDIdjbn=6kn=`S5VFwBL2pF4ISbABeWQu0h=W!j$_>oSr4*!>h(;2tORp8hSsi?E zl;p)mGJYx{o>=QnN6Hfy(x;Bw#mX&?^qJVCJ#k*SFz4T5q{*K*ng+!ev-COx$xKU+ z)!drNMki%up;XzkkZYbZ2ttlv7h13qdQ2(Ri$&x&rFy|a{-9UIw`eE1O5dWzTAsnQ zX*#C;jt#;Nx*EH`_=CaFd93~Y50AWetW&wT^sZuB{>62ZcOV7Dm+<`eKXxQIr+HKH z3?I|*361_L=X9Xi^?1_bx<)^V^Ns8(<2lJP zwE=gP?^i6<%bKt&nlQpUMa!j+f5UFK@?gbct>>#W_;bzbL8WBXa=@cmy{uV{Xgt5v z@G%YlOvA5h_*5*ss?&*SIwiW^Mp|MI)<-;~1^T*)1>x0m-Q=%KG7Iv@q{h&(j3#(o zgF84C_vw>w9TdBXZFACr6T?2n?a5sEeDm-Ax^uK7GxA$r?9ApoJLqa zyA9M+WWVU&215ZXeHTbxjGf=c9Iap;M8_&nDP88YjTO~Z1(FZ3qkxImLH3hci2E?j z-lsMVhR|RSNPVb$g;QW9-GF!>YJca{1M+E%cl9IdC}iHnoDq+jy@idxkT4k>7N^BW+5bfx%x+TjKk>sO2LJ#7 diff --git a/push_swap b/push_swap index 9455432ca499f41912c3455d03506ac31b59e19b..f66425ab4d978df07486bf08dea8c55cbc055c35 100755 GIT binary patch delta 22696 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

    y%y+3$=u7X}-QA5HldypFSx!pd**;0AJ(J`l? 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 delta 16669 zcmaKT3tUvy_WwC&2AF~2AqWU4@`h0qd@BNqLJlgWUNrCpC?+bJ38q)W$ybUt&2uJzw?t9cHTb8_LQ_fKHSJ!FCWuTt3)bRQHFv0 zkY;*trrrfl7Pz4>LRHZ8wfw09j#I0sby_;#0#`H;^pe1>WZ>39(A>g+WLmn@0yk

    &Rd%$1ed88x&5w{QOB>4-$0^I=PYfSB z%^W>eK;(#BiNC(>`-7u=3CXWtav;SnqCCaq`YAO(kMb0Y>y2uD7Uijm*LSG-smMRI zn)`Wbb(f#AD^HKNWL17|S$yTru-u{5ZYu^zlBL=^KqYBE!PF7>7>w@vw$CI<+7x6) zTB_ZOKrMalSt_rVhghoILi5>v_XGoh)jgu}*)8`7IgfdJ#F_IVBx!b%WpSFFxRGRF zvQ(w*MXoszm1?%&&tbRs^4M69fyx43_PR%$XMP3>t31*?Ih>vL=;s+Avf-3XU;_*Z zif=G0HMH|t>jTBAtV^UkC6L(+i@WVWa~D@MDZWcLgM$!JZ8TV_q>oU(>NU3w(X4w% zvTgy9ZYHrDW1E1=!)V_Aev-7Cz~&btC5dGl+shxYDaIIi6?@T`G0Y=OwY;Mh`9~<_ z4_T_S?pP|nq)JSK21=L8K5r$wCa~>MaaB#^|`EP2@izar_6rq&(tnu#Z zd9pA0Jkq?*jiq{9m1$n=L+@B+8L6~ke|Z~}SG<|KPgl<~DO_)r9(v)d(5Jhy#*@9| zlkVA1NPg3?i#}JZ{VkOh=Pi}9PgyEQ9!04rT`geTpVYuxiz{x)zDs6dd<)r;{+L$I z998AQ--wQ8n04=FA~N@?hUrxzsa^VaZ>>u=Qg1mlbw@@Q^v$~a+~u2QQvB!t zDsDwbS)o-u%uzY=P9Nxg$6e(h2pF7f-(>BNCEtZ`#TnhV9*CHQR7r>^!b?#(im`g77g$7fE~|-*_t^bk zhhya^qRQe0Bd*G~9$fF$vGlysZL#;=pxuzm3#$X51DLT@>nZB4LvN?my1*4$^q69ZW* zvsIqNYRm)W81{vEuUyJjcj%2~eAdC@d8ad1ExX4qn%lBo9bc6DvBMpEE1sR#Bo2~4 zZLlQ1AS=bq4W~Mtl9i3u*v6z8O4n-*{>iOnCG{#x=+ap+U1cXb1{w~alcna9SJ><> zrApD2h9A1*DT>GUEUo($CGv7ZbdRrOpOWv?uw0@Ljs1=pdc`ZhU2N#mYrHHkY*^j< zX}Q(JCRL+RL@2k3`K64C+JC{}sLJ}QZ&uTDXVIameKRod&E%`;0$ZLkPbs|6pzr&N ztbF`6dp$KwdG>4eQEC!e`g3ZMVra+Or@bW4XS>qUM+T%(Y=^?zGF z#op_`Mowdy84KDUYQt@MnTSG{rgr%pwd&P9wzA6^&&s`6-hh<>+k+9b8@Di0V}$fo z_Q!yUO7j^ucHlN8{|xiWT%qWLm@P9xzRq@MJ}*yg=#w>FR&=e|mdDbS=T5Tb#}>$s zHB26qE6exUe#`6f7&bmT3vGELd$PQfnFdG8H7t4X>~`UPyjr=~NokKyQj1jA6P+JB zG-`;Wdl<@*B-6Gp|zO4CPd`I8CCqL0|lC(k|6 z^r6~sSX7QQpW=KoP8tbg#(k`A>lsgGjLNS3Dq~~@jsUUOTB|#JC!+tzsCVyBopNfAjAu~XQ@{7&i$-SA?5x@@J> zV+n?6|9uWeE%?=-jiB|QbSl}p-{Ck9`X%T+P%G-z2KK*$_6F4-a5(Zn-vgZs`ZNwT zwV>-kcZ1#pJrA065cZ(2g0{hd?~OyScayBr){o%;zyL&UF6ai(TF}r>;Q;i&VK@L? zaRd%PyB>uDoDBDZ_6FVdnZq#_^w(n!$Mc}S9CtYCK|@cVA)v!Sn?QX&cQ_>M;^m+b zpxZ$Edsrpu8kj-=N&kie&`QvH(9b~|L0g@4I4*%QPzkg71ZV`P8;*1RK_3S#1pN&3 zc~Ipv>_Pj2Hi9kzy##s(RKnJyJL_;HfOZA7Six*NhfsscUpO4gK`TMGfChi*a2y4# z0&NEU1k`{n$@{#+kqp}B8;4^U=o-+Opa(!#gN9%U*a12f^c3iipm#u1u!#8Klu-zp z3|awd9R_CLw{QUJcM%Ri|AF=Beb7Ci=RkX2ayagS-nxv?WA2Xr9-#+);|Fvd=zuHe zI?y`MTF`-4(RHBxn$dNjS=Z5ZpfBElJx($0F|kuYC;sHHItsy*{*2Ip{t8+Tx&S*s zBWNJDkV~K|enIGPiaZM%0UGuzLJ#^OXd!6QZ?Ffg1FZ+0aToTWtNw$?fqwWqBIk>) z22B9n@CQN<`r{u%5qdCP?;-S{&w*|Mor*p2C}=#k)Mn6-Kj8q&gyAnZ0KEii0X_8q zkpu0I{dTt>8!$djN#4z-j_<70+u8c@aiK@;h&i2EL~08<7XKgH&Au5Qu6((h-3KYy z!$J$fqjv3aIDBZU&+zekK^f@nt~1Ie4}(NTP5A$fy=-(rxYA`Gn+I}oA6pOd%|5ml z#A`qM1|(@eyAQHpKMO4kSBgJmDIkMCVxvJ0eZ=O0Jot#M2N`{Ur4)t6jm1smJIvAJ z@b4^FIZVZ>yB07DZme_ zT;wd~4akSGgA>EtJ^?pL<*tBRz~tgEcRd!NHxILvl2Er8u$S4wiDB-U;M|TNf}yd+ zV9i)-7Cqvo%JY&ybkixN92=Lc?>--EP+BZJ6Ig;{tmdapRpUop>8L@ ze$R}P!rX6x!!fGEq)>Mgmd9s~v%z2!!G3+5O$9p??4T2D1=v!subg08!L9`R{t0$$ zQq)uLgZ%=FXCg*`vmbQv3RQtxcnFY*fpmxghSoR!QN)?Jr!nM3oh!k!x7ig6(13*tM?&KfV^ExdEUdK z&Osgv`Qesw<>14rLVg_b&mWN=Rpk-b6s6XfE_2T~90OZU->k(tT_1G@tCi>t9UB(? zrygd0@4?c^_(UlQh?3U2XvHV^W#U<)o_;Rtnq4s2Ev+Y7V~?2K>O zHzncjjbJZaWPg{0yIleMCySgC=BCHaa)o6~3A4t48;mVtmubr8l7PHWVz6C=7HK@CoE+A>a6je1lVd z1@e*D!)84qpYD|Fu?M~h`SeHRe8jeuFhpXYaF-QL#exEE^HsKJYLt5^*w?PHty3|1 zz;64I9RvFg*j+!e8(>d>&1q(Xr-iwJo72oXOv9YSez~!kd4f#@d!m_51v?b%`s-K) zgIN7Ey?ZILy>76rkgNo2yvdG%eFyCMo9qVI6JS^0VxFZ@?sviF{lvPK4lvN(`}|Mn zh-WS<0S&854KiC@dY#oy@7=Yv8eD96)I=oh9T6`kYQhjw6OQ<5s>h4v469twuxLiG ztc;6br{zGlY~QRH z_ULN5?LM$5s;6kJZtcqpx0d$Dgfa|gBZ2&8`wr_J8OV{66-iS#?(Gp1AM!&F#wcq8j#wDRRIX@p#h^)***YSJvCrcD!U0_ z8g_JE%FR?3_H2x)0q-;%s7_-;0G!1($pJ?in-Ac6iUyRXv$p}nrD{NWKXoAFrD;Gx zf95qO#`H9v?1a+{))&B}ej2bVgG~c4xxWTXAHZG#(2$`4_5tiTfPDirKpCiNd^%7A zh7M#M=f;@ccuWI!3}R#E_QPwyD|5qT_b10-L@#6q{u!F7vbvi6R_~%`CHcuE5a?=l zSbd5lIsY9jZc5ECp9zvYn)7+Slj?BzAG1@H6#5pvh}>A#ZeFPSAi~bEw0R-sK|a`J zm6|+n7z%!vpQ<{D3RY@{ayQw`IxkZ3k=e$1@p4;sY~JmppKvD8OGdad$ek^cWNLf` z6MP!Z=guh!4@g!h9*<-TSD$6`|JlbHP1WipufqJIbet1Ou3H3G-e^oOnK-4Uges+F z3Vqb(^pamxWqFdDVL3QALz4RUHoTY?p#pM{d;?RN(!U^~B-aI_k>oiDo^dr(YAocM za+K-MT?eVIbv3)KzT3!A8<|I7tZzUqvLPZ{>^DV{Lq(?0x1LlZWvUBmEVT-x*8NSE z(?vDZeOIlDd zR0?*G%Tbgq$4XDh-5KEtI0%#1Q7ya*UU(fPyjr>2JnptI=ni?!=egpb6OW5dZsescIAay{x0wn|Fs6%JIcqptDJ zVGkC^w_8mr`AY!P401Ev24~78Fr%V1%UBZlq^gm@H7wrh@|3|VpXpmkiUWBr&vy~! zGI?&SWGbX=@(S$Slz!s`r4K;^yeF}3OR{rkkcyuoRF*qcURG69AssBC1+W%c^|?nobD4&FXGfeDN;DCL{CiXKu%fpa-*`V z4Xa(=$z7e<;ViK_lHCGY(T4r8JaUAJ1}}r9Qd20I%Fx$-bWYC1!G)4~%LJ9{bQBH} z&sUX8_?qdbnfeYx^JEN@NuIQ(DoM!?VO^>^1*;YG=cVLHzDLwp;Dk22s?*T(lyO_gEARI$<=lC$1T8>) z_0qfU&We05DsowzLDOJINePprj>&4ceqL!*z6fRiT{%vv3uSrLeUyozj8!Ka!ZuLj za1K0P-6{RfqXi983)+oix@hqOQBXJ>Q|c)S%EsxtHvv5 z!q~=DDay-X?Bc3qLx5TwPMJZgJEi=t7RT2(wCh(G>7|1PXK{U?Ok*pzEicY0inB#G zRIJv^rs3o)hGs-#TUK4u$xjVwObyi3y{-#8Ruf_BKw7?}g|qDMHPPd{sK9M#VXU{p zF4c;Jn4rE#RBmlG)uC(t?RIF<}%_t!p|_$9gMJq1EnMY+!Nlq#GHAy!Y%5>~M; z%KYxbB5sHxPKzS6Rb*0kT){G&wY)@L0;mWa_NTuz*leL&2tPa-U*+-2kAN6y35FG= zfA*H7=uEYi9c;r*AyAW_u7qH1BwJ?dBICUT{8bFs_K~mpn zK$}t}>A#Pmp=(W9~t;>(2n1YzGv*bmFXX>TaEFCqIO)CAm#g6g8>5|&aIYVL_slkl=u zcv&U9j22!BvL$K$6XeC{wUoRJ#wBX_hCq2Mo4g^_?12YY;o)83;kxjkZMNk(_%JYn zdpJZMig4?ye|4hy>xZ`Ig>4G1S(GX`k(R(o{7C0m`8S!jre@%tcKS6->@1v@Me)~# z3%hXf58H*y7zOV0ZR1;Q*xm>m{opA_L{ zP^gypxN3^KP61dG<;%sqo5*}10BFrzDo`Z^8!b!-DyV$`u+E~{C zXrq^6F@C&{g4av^$k@Be$?LuS>ItU+8N9nXc|XbU-!GqqJYbl6n}RtHI#P2 zB_+9TD>&aKIFu`=0npXltMF@8CdpOPD4x2S)eHRRkaQ)N)-Ld0Q;%#ldDGRbT;N~A z7W}K7X%p$pBAv<(?9G359;h0r0B$J0>KScTAl3m~QT!9hLpdq)LsBz1zV`a)NmM}2 zqdTxRnz@$Ri#5GHfT#{Q$7Jf1mFo_;g)1`IX$=V#j+kU zD%@Y}Di3hfqI7KrY^Kn_$QI*3MpqeIj00nfabRpQ4va0wf#;!m_!+6TKbh@$D@vZj zn%?ScdYRx}1eYeUpsgvU&k0B%0IwQjx2BqNajFq@{24N;qi;8ekvh3^T3#keUrke& z%81utzK7z_tv4%rJ2Fk}WEDVQjA}QET%J)K4tqk;9&E^xUfp&*g2}@=@^HH+JMea7 zxavU#Fle~VIu*~g|*{VAgP^(6>LgXww zw%y`nYI1+7Vh>)$Qmt>Y$Xg6~dpw10-!2-e0=%IYx3@J-BBeH@bf^z=e>c*s7O4Wx zAs}*jlGixW_9bn+kqvvd-B49q1)SOnp||Hw&HQ`;7*I>X99ZAWJ6oM?^3QO&z0bt zqO7*{VM%(prnXk6@gio4lJY9q@P-Yh`(&;T6ucDPZx|6vzb+A#j1r~}VLDxyPOE0m zyuZN|2r)Osn_}n(7PD8F(==6>mZo!?Gs4tbgP$^3#pcdWy*cD2kJ^Wq$iBNG@ynTU zy9SsWA3B>LoTc~UUbG9|>+2+G*&^X=xamo9)R!FL1#`N+*qqGi-P{#MQ4PG z(q}JA(zvDSB2-T1eaIZ|o$Gf$ZodA|{AFQYouOJuW=^Cl2yD0IWNxS;bKmL=wrx)r zb4fdA$=ikLE@5gHroSNY#wylo&w8U%#2PmxCs|N6z4ZG-4=06(=>xdwVBx`iGd?X> zW31qq_5+nZ2CuH)?t3D3Pq?%6`@+^PY=;Qjwp-co{hPw?keNEdT@~ayV+r&BFv>it zz0+ARo_J^|DFYv^hEv)H_00Lln8$%=YpoNY#eJbOM~l1XntEuz&)1-_o~udt!DFz+Wbyo<4!K=i zmM3|PAmJ)K>gTE?*BQQZ3UOpHT-ns%aj320+g;KbQoQ=QWd|r&7F(_PA+*T!?xMUO2>dfhWA)dbD|-{jr8;_^)j#f>hJ@@+*`|(yAo@< z)g`0;tE-Zt*SR0XUs*}?cb`3awjt7xKRLAd!{ml#x1;pRX#a+{f7_~84hA(mc`seBTnuio{ncNuINE&hwcJauTn@4O zyU96vB|OYtWRxG*E4gj$?|I9~dgW|8`wy*Tqh3+M?LP;~WAsWzd;5@3*-NjSZg0;E zms{zT{0RHBD7jFN&tCS=kUS^H+ut1|d+U{)c>6~~`$~; z<;v6aihq**UY@*EulRPeTgS=%Zc1t&JDVUcL32~>A(P3^rc`^}H1cyZ)!yT2xwT%Y zPO}dwBgTXp)T`>gqLq+UtyXJ2QPqxDKbfBW9Wa(gIe*e@)TJ@v}24Ev8& za)4f$KEVFhDr$~>fZca3c~%D6!)xWXdS&Q9dupA0K(Fi=WPeaE|LYao{!}Hrefgxa za;aoeQL$7udqU}yvhsqmDf1>tGoLP-Qa|W ztXx!-Y#+f?`U~cGkYJQBO{cwJY|-}Q`DAq`-tMqZJ@d%mc}?s0NE}lmm*gbgF=_&EOtKZzqrCWddF_ zS1@rEcHY453sprM6koGHy#)V^MafvoZI|yS+q_CqiD}h>vDR?8=cgopeVt7W#ib*Z z`|M?&+jWd`S2l>^etBIm?wh%7@3SOtyVcHXVcss7emlAS-U}pmv-8~Qi%OGXpL$st zC1Z&>I6J^iC;3Scf@>w6Vz18$u<9g#DdKUl-nAe)T+Fp^?=4_SC$*Nef1C3t9w=%5 zUg%LgNUAM}XbGvjP70Q!!U+6vNjm%z%dgPB{s*PK98wseO0mYvS2|$(P}683@XO|T>}zV8D)7i)+vpog=fSR@AM9At$>BsC zIVp+Dh_pu7xxPQv3H*AN?F{@`FC}n0^+!QqpTp80!2{0);_sKj?vG3k{3`IP0zYTu zz&3&ZB5>F5r+;eY$Eu0}5?-p*yM9#aBXHMC!~lW2z8Mb% z?uQ2YiGd@Em;NF2#T$fG!u4NG6NR9>Gtc8eOij}T?)vigoWOsK;CkhpNJ|7x7a&Sn zPc0Mpqwko}l2ojQ%2(2U@50S+r4|O|w#&DaB)s$6{C`5gI*13%!D1?$7HS)CkD-*w ziF8ijH^ld&UIPDC;I2278v;KhD!fwY|0Zy80kk@AfDbeSys=Pna3XnPXwgu0{i+x& zaMycIq`SRXE5;Xylb&$5f3DwdDi$*G~5uecs!) z9=LH_gc^g|akevhT`w(LKhEaw_At9;oNWYU#Rnext && j++ < i) - list = list->next; - if (list->n < *smallest) - { - *smallest = list->n; - *position = i; - } -} - -void check_back(t_stack *list, int i, int *position, int *smallest) -{ - t_stack *head; - int j; - - head = list; - j = 1; - while (head != NULL) - { - head = head->next; - j++; - } - head = list; - j -= i; - while (head->next && j-- >= 0) - head = head->next; - if (head->n < *smallest) - { - *smallest = head->n; - *position = i; - } -} - -int find_smallest(t_stack *list, int size) -{ - int i; - int front; - int back; - int smallest; - int position; - - smallest = list->n; - i = 1; - position = 1; - front = sublist_size(list); - back = size - front; - while (++i <= front) - check_front(list, i, &position, &smallest); - i = 0; - while (--i >= back) - check_back(list, i, &position, &smallest); -ft_printf(" / smallest:%i ", smallest); - return (position); -} -*/ - void mark_sublist(t_stack *list) { while (list && list->limit != 1) @@ -275,23 +214,18 @@ int find_smallest(t_stack *list) return (position); } -void mini_sort(t_stack **a, t_stack **b, t_list *solution) +void sort_big(t_stack **a, t_stack **b, t_list *solution) { int list_size; int next; int i; list_size = sublist_size(*a); - if(list_size == 1) - return ; - (*a)->limit = 0; mark_sublist(*a); -t_stack *test;test = *a;while (test){ft_printf("%i(%i)-", test->n, test->limit);test = test->next;} while (--list_size >= 0) { i = 0; next = find_smallest(*a); -ft_printf(" / %i", next); if (next > 0) while (++i < next) ra(a, &solution); @@ -304,18 +238,359 @@ ft_printf(" / %i", next); while (list_size-- > 0) pa(a, b, &solution); mark_sublist(*a); +} + +int find_rank(t_stack *list, int nbr, int i) +{ + t_stack *head; + int comp; + int rank; + int j; + + head = list; + j = 0; + while (++j <= nbr - i) + head = head->next; + comp = head->n; + head = list; + j = 0; + rank = 1; + while (++j <= nbr) + { + if (comp > head->n) + rank++; + head = head->next; + } + return (rank); +} + +int order_is(t_stack *list, int nbr) +{ + int order; + int rank; + int i; + + i = 0; + order = 0; + while (++i <= nbr) + { + rank = find_rank(list, nbr, i); + order = order * 10 + rank; + } + return (order); +} + +void sort_4(t_stack **a, t_list *solution) +{ + int order; + + order = order_is(*a, 4); + if (order == 1234) + { + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + rra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 1243) + { + ra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + rra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 1324) + { + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 1342) + { + ra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 1423) + { + sa(a, &solution); + ra(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 1432) + { + ra(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 2134) + { + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + rra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + } + else if (order == 2143) + { + ra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + rra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + } + else if (order == 2314) + { + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + rra(a, &solution); + } + else if (order == 2341) + { + ra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + rra(a, &solution); + } + else if (order == 2413) + { + sa(a, &solution); + ra(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + rra(a, &solution); + } + else if (order == 2431) + { + ra(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + rra(a, &solution); + } + else if (order == 3124) + { + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 3142) + { + ra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 3214) + { + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + rra(a, &solution); + } + else if (order == 3241) + { + ra(a, &solution); + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + rra(a, &solution); + } + else if (order == 3412) + { + sa(a, &solution); + ra(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + rra(a, &solution); + } + else if (order == 3421) + { + ra(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + rra(a, &solution); + } + else if (order == 4123) + { + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 4132) + { + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 4213) + { + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + } + else if (order == 4231) + { + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + } + else if (order == 4312) + sa(a, &solution); +} + +void sort_3(t_stack **a, t_list *solution) +{ + int order; + + order = order_is(*a, 3); + if (order == 123) + { + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 132) + { + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + sa(a, &solution); + } + else if (order == 213) + { + sa(a, &solution); + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + } + else if (order == 231) + { + ra(a, &solution); + sa(a, &solution); + rra(a, &solution); + } + else if (order == 312) + sa(a, &solution); +} + +void sort_2(t_stack **a, t_list *solution) +{ + int order; + + order = order_is(*a, 2); + if (order == 12) + sa(a, &solution); +} +void mini_sort(t_stack **a, t_list *solution) +{ + int list_size; + + list_size = sublist_size(*a); + if(list_size == 1) + return ; + (*a)->limit = 0; + if(list_size == 2) + sort_2(a, solution); + else if(list_size == 3) + sort_3(a, solution); + else if(list_size == 4) + sort_4(a, solution); + /* + else if(list_size == 5) + sort_5(a, solution); + else if(list_size == 6) + sort_6(a, solution); + else + sort_big(a, b, solution); + */ (*a)->limit = 1; mark_step(solution, "mini_sort"); } void hugo_sort(t_stack **a, t_stack **b, t_list *solution) { - if (sublist_size(*a) > 5) + if (sublist_size(*a) > 3) divide_a(a, b, solution); else { - mini_sort(a, b, solution); - if (sublist_size(*b) > 5) + mini_sort(a, solution); + if (sublist_size(*b) > 3) divide_b(a, b, solution); else if (sublist_size(*b) > 0) send_sublist_to_a(a, b, solution); @@ -401,19 +676,16 @@ void hugo_sort(t_stack **a, t_stack **b, t_list *solution) // } /* sa(a, &solution); - pb(b, a, &solution); - pb(b, a, &solution); - pb(b, a, &solution); - pb(b, a, &solution); + ra(a, &solution); + rra(a, &solution); + pb(b, a, &solution); pa(a, b, &solution); - sa(a, &solution); + sb(b, &solution); - sa(a, &solution); - rra(a, &solution); - rrb(b, &solution); - rrr(a, b, &solution); - ra(a, &solution); rb(b, &solution); + rrb(b, &solution); + + rrr(a, b, &solution); rr(a, b, &solution); */