From 80179a52899cb522d5b27479f58046ff490da484 Mon Sep 17 00:00:00 2001 From: Maoake Teriierooiterai Date: Tue, 6 Jan 2026 13:52:29 +0100 Subject: [PATCH] finally finish the medium algo --- algorithms/medium_algo.c | 14 +++++----- algorithms/medium_utils/sort_utils.c | 32 +++++++++++------------ algorithms/medium_utils/sort_utils_two.c | 30 ++++++++++----------- algorithms/utils/compare.c | 2 -- push_swap | Bin 26928 -> 26928 bytes 5 files changed, 39 insertions(+), 39 deletions(-) diff --git a/algorithms/medium_algo.c b/algorithms/medium_algo.c index 3b1484f..9ee3379 100644 --- a/algorithms/medium_algo.c +++ b/algorithms/medium_algo.c @@ -15,7 +15,7 @@ int path_to_end(t_stacks *piles, int max_range, int range, char c) { - t_stack *tmp; + t_stack *tmp; int i; int first_pass; @@ -26,11 +26,11 @@ int path_to_end(t_stacks *piles, int max_range, int range, char c) tmp = tmp->previous; i = 0; first_pass = 1; - while (first_pass || tmp != piles->a->previous) + while (first_pass || tmp != piles->b->previous) { first_pass = 0; if (in_range(tmp->value, max_range, range)) - tmp = piles->a; + tmp = piles->b; tmp = tmp->previous; i++; } @@ -39,7 +39,7 @@ int path_to_end(t_stacks *piles, int max_range, int range, char c) int path_to_start(t_stacks *piles, int max_range, int range, char c) { - t_stack *tmp; + t_stack *tmp; int i; int first_pass; @@ -49,12 +49,12 @@ int path_to_start(t_stacks *piles, int max_range, int range, char c) tmp = piles->b; i = 0; first_pass = 1; - while (first_pass || tmp != piles->a) + while (first_pass || tmp != piles->b) { first_pass = 0; if (in_range(tmp->value, max_range, range)) { - tmp = piles->a->previous; + tmp = piles->b->previous; } tmp = tmp->next; i++; @@ -94,6 +94,8 @@ void bucket_algo(t_stacks *piles, t_tab *preset, int range) t_tab *tmp; tmp = preset; + while (piles->a) + pb(piles); while (preset) { push_range_to_b(piles, preset, range); diff --git a/algorithms/medium_utils/sort_utils.c b/algorithms/medium_utils/sort_utils.c index 5dafb47..b17daf0 100644 --- a/algorithms/medium_utils/sort_utils.c +++ b/algorithms/medium_utils/sort_utils.c @@ -16,16 +16,16 @@ void push_range_to_b(t_stacks *piles, t_tab *one_preset, int range) { while (one_preset->nb_in > 0) { - if (wich_path(piles, one_preset->max_range, range, 'a')) + if (wich_path(piles, one_preset->max_range, range, 'b')) { - while (!in_range(piles->a->value, one_preset->max_range, range)) - ra(piles); + while (!in_range(piles->b->value, one_preset->max_range, range)) + rb(piles); } else { - while (!in_range(piles->a->value, one_preset->max_range, range)) + while (!in_range(piles->b->value, one_preset->max_range, range)) { - rra(piles); + rrb(piles); } } sort_little_pile(piles); @@ -37,7 +37,7 @@ void push_range_to_b(t_stacks *piles, t_tab *one_preset, int range) int sort_path(t_stacks *piles, int value) { - int start_path; + int start_path; int end_path; start_path = number_move_reverse(piles, value, 's'); @@ -55,10 +55,10 @@ int number_move_reverse(t_stacks *piles, int value, char start_end) t_stack *tmp; i = 0; - tmp = piles->b; - if (start_end == 's') + tmp = piles->a; + if (start_end == 's') { - while(tmp->value < value) + while (tmp->value < value) { tmp = tmp->next; i++; @@ -67,7 +67,7 @@ int number_move_reverse(t_stacks *piles, int value, char start_end) else { tmp = tmp->previous; - while(tmp->value > value) + while (tmp->value > value) { tmp = tmp->previous; i++; @@ -78,18 +78,18 @@ int number_move_reverse(t_stacks *piles, int value, char start_end) void sort_little_pile(t_stacks *piles) { - if (!piles->b) + if (!piles->a) { - pb(piles); + pa(piles); return ; } - if (piles->b->previous->value < piles->a->value) + if (piles->a->previous->value < piles->b->value) { - pb(piles); - rb(piles); + pa(piles); + ra(piles); return ; } - if (sort_path(piles, piles->a->value)) + if (sort_path(piles, piles->b->value)) sort_from_left(piles); else sort_from_right(piles); diff --git a/algorithms/medium_utils/sort_utils_two.c b/algorithms/medium_utils/sort_utils_two.c index f21df33..1a79332 100644 --- a/algorithms/medium_utils/sort_utils_two.c +++ b/algorithms/medium_utils/sort_utils_two.c @@ -16,18 +16,18 @@ void sort_from_left(t_stacks *piles) { int i; - i = 0; - while (piles->a->value > piles->b->value) + i = 0; + while (piles->b->value > piles->a->value) { - rb(piles); + ra(piles); i++; } - pb(piles); + pa(piles); while (i > 0) - { - rrb(piles); - i--; - } + { + rra(piles); + i--; + } } void sort_from_right(t_stacks *piles) @@ -35,15 +35,15 @@ void sort_from_right(t_stacks *piles) int i; i = 0; - while (piles->a->value < piles->b->previous->value) + while (piles->b->value < piles->a->previous->value) { - rrb(piles); + rra(piles); i++; } - pb(piles); + pa(piles); while (i >= 0) - { - rb(piles); - i--; - } + { + ra(piles); + i--; + } } diff --git a/algorithms/utils/compare.c b/algorithms/utils/compare.c index 69b2427..db824cd 100644 --- a/algorithms/utils/compare.c +++ b/algorithms/utils/compare.c @@ -41,5 +41,3 @@ int is_highest(t_stack *stack, t_stack *node, int len) } return (1); } - - diff --git a/push_swap b/push_swap index a863f9dadbe50a8e90dca5c39fe8052b8e59c251..b8d3856e7ad341083ea5296c3449aac2eb7b0421 100755 GIT binary patch delta 2384 zcmaKudrVVz6vyu^2rVjHg$Z?N!68Bh_Bvf`Loy3exQ){_8;=!ZMvS0aOx6Y6U>T3B z>ST4J@x)BBmn>PrvMnj;{%HM2oR8t=w&Dx$F^ZzJ6J3*G24>6M_jh}(n8h`6KEL1Z zJb&k&d!zRp@5MhYuRE2?DZf*+fH&&Kb+O&J&&C`11s+Rm>#@WZ9_rMLW;|mW88cTr z`|g=5tDW6RKlMzVZTs8zPQuGi%o|SUILX~Q(0MxiDTT5O{I>`7*XRAXP&xJEw2SWQ z4gBZ6)Wsj^DioSvbyrV@BlPF;68;()^9z&Gr(k=7ju&SZ-1=RX(H^91*2d`69xa1! z_$<@7PUdVm(U@i^_kEV%sL@Chv?P5omZ|l?R0Q#b6^K%pNoYtsY zMApDo7HQxwSyq~8#V%H(lF_1dn~*bR8vdTzikGxsh@!Mp>@GF`XWV)}7V=R48ae(D z4Ql$Zd>5r3>rm&(%Z1ynBj9)O4!O~^&CK}NzK1q-u#r+(IZ~qQxZEivM&_~>wb$Qx zT#G80Mrl#C)Ok~KO$t(HD_W^Op}p}ZR6L3N+m-TIt1%}QfyvlNmhfpGWIm`}15-@* zblCO>d{%SZeAuZ$*;wpYd6DO6ow1Al$xERj&akDJPZd0F_N#){lX;v`2Ey5$Ey?1+dz_SkmdLwGU1M$>%CVhQkTG~NN zNBgdZrd=riFUvu&1B`;f3$iTWCE_m1vIqu2J7~Wox64i}`Y#~>*fE3vAUBKvUT4IfZ|mY03HE7p#2*BnH~%>{crFGL!f{UiG39Q?1K`5Kih}e5daG>4m_Y` z3<1C(7-Z)dx+v(uBne5lAzot<41sn~ya|8CTkr=xpcmvO;LrA86bykvGA^?OC@8Am_YA0MXIXaP^v|-Kj}2FzEU<5!h`)?qWEmG%etD4P_^YSBvK9Pc z8YwgICYph4CjEK??hW|q={M}2dEn|ivp0nGy;kE%89;$)nKkLXr`}FUB%L6 ze$2)wyGCiMuurpoev;<$ykvAF8%IT$jpl1~w0!ZL=dmGyBBx+ z2DXPuU&*qXA#oGP!_)$a${-~QC?_MzdIqwW^b)&+84{g>Y^D}SKXohT0m+b?g{iXO z-HVr+P{OmMtkeUTBJ^DG(A!{(N$Yu}zE9%yO~SU995#bSJ3(*TmZGKIHl*?eY-BUD&pOEpi`H$qW4=lw zVezG^4U)dDQZE$7v<<3nx_aFlYN@N_ExzM*T`8LUTzau#rOv-9X6vWU2G*v*2BYrb Ue}Z(4Yjw?KF^guOt#Ly0FS&At2mk;8 delta 2290 zcmaKuZ){Ul7{<@J8?0B5-oeOLgmp8ctO3@Gm~3W2FN1Ek{7a)NV;JN7u(=TpGX@>T z*@iN*Qjo$MB403rXtEhUl=RE^Vul!8Bhe0r3>{LCKP?QrnkDv=*XQ1LWsAmT_xYW3 z-uFD`z2}^}EP91U@oV8?UnMht`ly(@#Bnj(8;^Ooix&r!Y&W1}8vzOlH%mer3Xl5^ ztlyP!{CUt(cjQyc^!kq2hXuQqE*xIMm>TXK4P8q0QnJj>kDjpIUiiggb95M^d+D*w z&i%1P%RUkPOJS~t-AOgPJ)?$2wSJ>yJvq|vzINDsZIE00<{_SLgna9sfSS4Cy70c~ zuun@ZD`YH~Vb+5SvJp5iHDs6>k0KfEuzNB%!b9%K^dVi>(Nlxp$gf?r+L=!c-KDB3 z-}d61uUSJq|M&V^knmsYZz;&FZ+)^pjaHQ}n6(t?t}-fGd9^gytD(|XGqV?!?$g4) zsni21an$p_$?I_P=jj8-a-rxUmDiM6A3e}@lv-hw8elB;m7_xtI`7kpCCf;0HuFsE zq;rb%?_vj5zXZ_NYhK-OF>mhH!ZPg7zk!id>Mvb4w`ntaX*|X*8haJ4LnE7+x<~_S zOK9&}aaEtD>*-6_tn~lo`)BeU=N`}GXRUiPsU6uhw6Izjyr75F!nBM0j#B;^t*Ej2 z5C8V$)fDp>)Zi2j%h(mv73{GvYu_T%0$$r5!M-D3v|=$%7U!J3FgUKGr8B9ONX6C5 zq%yx_&U3lpnU|GQ>o5|`(7Bq+f?}bMT*v6eN|8$C#hciSp~nKpkMoXO@or)Fw0VQ3 z(+O;f>EHYiJK8(VW@R2HO)jH@@=A4 zl6SsxLJ9c!GX?c`IAisAg@GS*y;@*QLOl#rz!H#+>ADvj0lUG9E4m&517OtX|ETK; zFal~|a$MIXTw&>|uFGH&^nz_aVLq4uBVgp3?$@JeNE0vsHBdA9Kf?gupa#ld;ujcz z$|MZHC>R0TZlC}o4knEFub2;NpoA~H?Iz}fQWEoxKG+S8fDzDp%MSxIlDA-B1a89s z9KcPI=Hm_TzyQ=hFR0vw0a$Sl21Xo=8gVdT^zUOnm;j|B#=29O4<jh0p8(rH4IBX_3o6IC%3vGl1p~N=-CzaoPXrtQqo5ZTGXW+*&FJG>lkoR; zgx+pg?X-Na>kcf!HWx_}AmgdR7~a(Use*3C(@hr|R`EefH`uvK;wC%qCnt22JW!Ro zprFN2x#KIzM z!Ey|(!DZ;jVo!D2s%td z&^n5nBWbfOsz#wsD7FJyOIIrW{+*EfaS9_sSgg^7D~*i(*jhKz}^xTm&|Mg-}^jym2Gdtrxv9#7Eu zSDJW$c=MaZ=H9^5f-iS5vobI3Z?5Gx=v?z&A-S5K^)(6!nfCbJ!@=G1m5LQE#i)Rt zCBAbNJe)gSyp39SHgQI0(3WWo?E$j2xS*bv*LgP$wb=RfSiI#Jw<&9~)3=)@jBUlX z8p|s5PHU;nD`%tc=b~@rq7gcSXd<`tySZq8E-KMjtIL+mIh&h_jL&n?DA{&5*|h4c zb9-*?lHBVu+P@p6$1dzX_LOk1f?jT~5qs8Ub9*S%Zfw(7yGwlXZ;IGaD|R+yGdg3Q Hj{Cwtd(KI7