From 8ded5f93cf62c8075597c2abfd4ba07ddc569c30 Mon Sep 17 00:00:00 2001 From: hugogogo Date: Sun, 26 Sep 2021 10:56:44 +0200 Subject: [PATCH] bug dans sort qui semble marcher mais ne passe pas le checker par contre parsing arguments fonctionne dans les deux modes --- builds/algo.o | Bin 104824 -> 106752 bytes builds/push_swap.o | Bin 102944 -> 103664 bytes checker | Bin 0 -> 38192 bytes push_swap | Bin 192736 -> 193400 bytes push_swap_tester | 1 + srcs/algo.c | 194 ++++++++++++++++++++++++++++++++++++++++++--- srcs/push_swap.c | 41 +++++++--- 7 files changed, 215 insertions(+), 21 deletions(-) create mode 100755 checker create mode 160000 push_swap_tester diff --git a/builds/algo.o b/builds/algo.o index 1633b725876b4f9ae9d85a0d74fb0a5172c0c421..cda35ae3bfc592e6f2993ee46e7bf50d8bc5dccb 100644 GIT binary patch delta 25198 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

2AJ`u73E3h8x)g8)FPMP3hSGTb% zYDgyJtU&UD5GT7@j-(Hi6M0X_cqXfm^o5+2NLsdJZ|9giiliTu6R9I}SG-X>vmj>` zlJ-J?YY>W&aw7YL+{fOC+yXfdVq^NsLygvUXl!C*20}T?DHG(TsKuY*Cqm9@B!xoy zFjhpSBeKN)f!Lh^rCAejo~ zM5@W{UKh5Z8cc(nHAuQ$PsrOeC?_&e$a1bV4bF7PS&QTwA?=t@N9RI05xZmoZfU0n zV#xeMT{>ct`?bD*3^J0a|{6OIK$$>EeRI_xd5 zN~h0-@-UjM5W=`h8ixXNbfSiqp4hu?WBbr5dP)_6d+W4_0+i+asc&}y?7Qk+6G%tPuX^q&pX6wdIoTQ z96VYj8E?i!dq~PGf-##h(YBNCEZZ@uY(^JZpRtSO@HydqKk#XT8qoML#9bHiYH*ml J>3$>i{{VF-DXIVf delta 23245 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 Y=SqBW^zai#M#{7DD)Dg$t}vSXFKhJ5UH||9 diff --git a/builds/push_swap.o b/builds/push_swap.o index 69d98a8f7503559e95fec26215841f41964d28be..6cf1d4cbf256b9fc0f13d2f39c2a9e572fa1f5b8 100644 GIT binary patch delta 23425 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 bQt;8&wx{@O8U*QU(lkzt|M9~-quKuh4NAb- delta 22661 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 diff --git a/checker b/checker new file mode 100755 index 0000000000000000000000000000000000000000..002d5930236c65f1a695bf2fe08489bec0c49745 GIT binary patch literal 38192 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 Z+eg>0QN!_&s{El1isOi86qsE8{{pOBm#zQ+ literal 0 HcmV?d00001 diff --git a/push_swap b/push_swap index 6e39fc1d48f9b917b7f07dba452840d4b56b5765..9455432ca499f41912c3455d03506ac31b59e19b 100755 GIT binary patch delta 47445 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%0DUJp5H8J2Cam^(enOis1JV1pPY`Odm|} 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
WIHbcn8U~+o zc31GyjBMvmr2r4R>cFxRvcnRvL_4}mUGl_t{5YhueaDZF_iaaa0e?EW^C&uU3M}>= ze~|tifAG`a@#Bn6`;On?=`*NMahBKj@nK%Y;)i*aaG2K{bFWa@P)_e`H!y&Xhk|gL zr+wRBrRadKYS95-_@CXo`BGlVNBg)x%67mPjRQWsO=2kPU|~ae8GPcudZ{>``T*~H z>1U@((I@`&;)4C4($Mi|-9Gd1^w}|Z&@hYt8&6+dmHtJFKWX;A@fRunbktAo`e0P4 zyZ%Y3|KQq-87;$CmF{#U-s$+;lPwDd{)=T_db0nwPWHD?``6L4RE>W}jiK~sksn`o z*`7Q_mp*y=n@>!%zl-!2&qgoJDLp%R9{UczHLp~W&qI-+^k=01ywp3EF7=Ww^@>Zh zXQT0@&qhmpdBj>+0=AW2W|mlwe89`4_dU-eZ1SPo)Y zSFbC*r!4-bOrL$m@yu)X4I4_;_#D)DV3T$|6jpjYRPv>ry-ibQNU1VQq|99>d9?M$ zN#35N9mH3$#S?yaS~~rgbayEOU!N9F2FXKOW*PY*FKd0}L;f+x-#536I>Q&xUoS`T z56-uAvhZ_!9M5QCnRt#zRxkbwBwg?|vWMg%?bAoa+rJ_W(&-<0T0Td=rg8YJmC{cd zlC1b@mHN5UN7G308j=?2{lf8ti&A?HNqIWm(!kR8Jdbo=P*JOBh;MBvjkM&R=K7i|yV6EInLz107-QvGk?<(keBT2GE zeahXNZgkZM`081tYI^5RcpsWlxQ3*7onHLM%NpqP>Ase^pYlkv?T0+^xwA-p^!nnz zl{r+WC+d^O*SsQ4*6B;|)ik9s8j@z}^zgD8!DfTmI$i&T_wb@0w9gdUag~a@UasC@ zo|C2b1x&b!_tOk_>h%}sb7iEay3r2n^k(#BI8q}GNyl{hGTkh-b^6CTz4*^%eWlY! z;4^C^vxE=5MJmuM@Y{DH;Uj2~?%F!w!)r=~8j=ci`V8GtHuF0vnzt7JO{;P`{iN>2 z_`V+r)2*mi6#pru2%Y{&o2g{c2TmZmdWLz%bk$pU(Wl!;__|%BemZ@)t`l9A(r`=A z=iJL@vR>U6U&&KyrXgvTr46dh_=_K6xxHLNqc_qm@QO|k$5%p>Qgr&;pu2M~$&?W& z=r&;0+ZX@EO8R5Zw496o*u@#*BjK;y+M*H^EK&u%!$RHkGj#f8onHKh?|#tf+e5U5 zmGt)ab-G!P7q⋙qP0}gy?Sv;Kzm~sjuF_%`);L_p0NAulA|Fsct!&?}zIBiv4h# z)Ix8cd~gX)lBZV}Bx&^B zdi6S;Ui>GUw&`?}9`Dxb?f2RE=y8btt_G#!I{j`Lt!&fzDUEKHihj{stCue79WwO* zWm~>q>hxLq8nOLm>32H4l^*S1*7@Ak>7VG!x{*#d>PFol_~TD8*dnH*UU48=Yni4m z3vZo1tyqBb*XhN74X(0IZ&2ZBKG8b;sb8wb_);CcViEr81EpmelA7!E9s0mFP0*ig zCpSJ*No&|oZ{JO)*RHG)Y$h14(~JMY=y=d0h*9w$OM6l8kf?8zC-eapT4KJ!mtORz z04Ywm6^j!a^ltXL;5Jil)#)l?B&D&sV)s~b!Ona^uYMDl(mD-E-{|zOaq&dSUhnp^ zPA~owG%_53q?xCCnoTYCI^9k8%m|I0R7Rs$E&4@hn-1qhT6<5uz0_ya82o&S z^}EYFU$(w+4PUWY4t>X4TSE%?C*1nrI?pihw)HJtZt_S6+ira@#j@xoujOtF#WpAOCGiLGq Hfmir1e7-Vr diff --git a/push_swap_tester b/push_swap_tester new file mode 160000 index 0000000..0fd5c41 --- /dev/null +++ b/push_swap_tester @@ -0,0 +1 @@ +Subproject commit 0fd5c414c6de12e679f6a0d19bc5ad00de38215f diff --git a/srcs/algo.c b/srcs/algo.c index 6b8229b..de2cd12 100644 --- a/srcs/algo.c +++ b/srcs/algo.c @@ -126,26 +126,202 @@ void send_sublist_to_a(t_stack **a, t_stack **b, t_list *solution) mark_step(solution, "send_sublist_to_a"); } +/* +int find_smallest(t_stack *list, int size) +{ + t_stack *head; + int smallest; + int position; + + smallest = list->n; + head = list; + while (--size > 0) + { + head = head->next; + if (head->n < smallest) + smallest = head->n; + } + position = 0; + while (list->n != smallest) + { + position++; + list = list->next; + } + return (position); +} + void mini_sort(t_stack **a, t_stack **b, t_list *solution) { - (void)a; - (void)b; - (void)solution; + int list_size; + int next; + int temp; + + list_size = sublist_size(*a); + if(list_size == 1) + return ; + (*a)->limit = 0; + while (--list_size > 0) + { + next = find_smallest(*a, list_size + 1); + temp = next; + while (next-- > 0) + ra(a, &solution); + pb(b, a, &solution); + while (temp-- > 0) + rra(a, &solution); + } + list_size = sublist_size(*b); + while (list_size-- > 0) + pa(a, b, &solution); + (*a)->limit = 1; + mark_step(solution, "mini_sort"); +} +*/ + +/* +void check_front(t_stack *list, int i, int *position, int *smallest) +{ + int j; + + j = 1; + while (list->next && 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) + { + if (list->limit == 2) + list->limit = 0; + else if (list->limit == 0) + list->limit = 2; + list = list->next; + } +} + +int find_smallest(t_stack *list) +{ + int i; + int smallest; + int position; + + smallest = list->n; + position = 1; + i = 0; + while (list) + { + i++; + if (list->limit == 2 && list->n < smallest) + { + smallest = list->n; + position = i; + } + list = list->next; + } + if (i - position + 1 < position) + position = position - i - 1; + return (position); +} + +void mini_sort(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); + else if (next < 0) + while (i-- > next) + rra(a, &solution); + pb(b, a, &solution); + } + list_size = sublist_size(*b); + while (list_size-- > 0) + pa(a, b, &solution); + mark_sublist(*a); + (*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) divide_a(a, b, solution); - else if (sublist_size(*b) > 5) + else { mini_sort(a, b, solution); - divide_b(a, b, solution); + if (sublist_size(*b) > 5) + divide_b(a, b, solution); + else if (sublist_size(*b) > 0) + send_sublist_to_a(a, b, solution); + else + return ; } - else if (sublist_size(*b) > 0) - send_sublist_to_a(a, b, solution); - else - return ; hugo_sort(a, b, solution); } diff --git a/srcs/push_swap.c b/srcs/push_swap.c index 4cdeaef..79d8810 100644 --- a/srcs/push_swap.c +++ b/srcs/push_swap.c @@ -25,23 +25,40 @@ int check_flag(int *ac, char ***av) return (0); } +t_stack *fill_stack(t_stack *list, char *nb) +{ + t_stack *new; + + new = ft_calloc(1, sizeof(t_stack)); + if (!new) + ps_stop(NULL, NULL, 2); + new->n = ft_atoi(nb); + new->limit = 0; + new->next = list; + list = new; + return (list); +} + t_stack *init_stack(int ac, char **av) { - t_stack *start; - t_stack *tmp; + char **split; + t_stack *list; + int i; - tmp = NULL; - while (--ac) + list = NULL; + if (ac > 2) + while (--ac) + list = fill_stack(list, av[ac]); + else if (ac == 2) { - start = ft_calloc(1, sizeof(t_stack)); - if (!start) - ps_stop(NULL, NULL, 2); - start->n = ft_atoi(av[ac]); - start->limit = 0; - start->next = tmp; - tmp = start; + split = ft_split(av[1], ' '); + i = 0; + while (split[i] != NULL) + i++; + while (--i >= 0) + list = fill_stack(list, split[i]); } - return (start); + return (list); } /*