From 023c7d29f69c9d90c713ea25dc88b5abdfdd1c45 Mon Sep 17 00:00:00 2001 From: hugogogo Date: Tue, 29 Jun 2021 23:49:06 +0200 Subject: [PATCH] debut algo tri --- README.md | 4 +++ builds/algo.o | Bin 103592 -> 103920 bytes builds/push_swap.o | Bin 105296 -> 105296 bytes compare_pushswap.sh => compare.sh | 0 push_swap | Bin 194752 -> 195088 bytes srcs/algo.c | 56 +++++++++++++++++++++++++++++- srcs/push_swap.c | 4 +-- 7 files changed, 61 insertions(+), 3 deletions(-) rename compare_pushswap.sh => compare.sh (100%) diff --git a/README.md b/README.md index 844c4c2..e161e52 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,10 @@ source des comparaisons ci-dessous : [https://www.youtube.com/watch?v=xoR-1KwQh2 10 4 875 249 56 784 400 Bogo Sort +--- + +autre source de comparaison : [https://www.toptal.com/developers/sorting-algorithms](https://www.toptal.com/developers/sorting-algorithms) + --- ## pour utiliser l'algorithme de tris de ce programme dans votre propre programme, il faut : diff --git a/builds/algo.o b/builds/algo.o index bb713baa8db57d7c332566fe4183c166405e3414..51956687f4043633ced2d72a6ecaa48983cdad0e 100644 GIT binary patch literal 103920 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 delta 69 zcmV-L0J{Iswg%9)2C#TA1270@vwJZ8t^xRyao!gJ36qiE7X=Or000n|k!}GLv%%l% b3I<|zVq$D%ld$S8v*79wumKyF@tOf&<76EB diff --git a/compare_pushswap.sh b/compare.sh similarity index 100% rename from compare_pushswap.sh rename to compare.sh diff --git a/push_swap b/push_swap index 3bc14bd6b69f8f33b8214bdf1f36a2de895d7888..edb7244f95e5c8add958cbf72b0d0fba2c9936fd 100755 GIT binary patch delta 11688 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 XchI-0RoQQCSzu*too&-2Ip+TW$KhFj delta 11369 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 b36Ip~rn@&(4Rp}H4Wjzl9sA8kYVH35!AVHd diff --git a/srcs/algo.c b/srcs/algo.c index f0411b6..866cb21 100644 --- a/srcs/algo.c +++ b/srcs/algo.c @@ -1,7 +1,61 @@ #include "push_swap.h" +/* +** the nb compared to i in the while loop is the number +** of elements of the list that are competiting +*/ +int match(t_stack **a) +{ + t_stack *tmp; + int smaller; + int i; + int j; + + tmp = *a; + smaller = tmp->n; + i = 1; + j = 0; + while (i < 4) + { + tmp = tmp->next; + if (tmp->n < smaller) + { + smaller = tmp->n; + j = i; + } + i++; + } + ft_printf("%i [%i]\n", smaller, j); + return (j); +} + +void nb_to_top(t_stack **a, t_list *solution, int i) +{ + int n; + + if (!i) + return ; + n = i; + while (--n) + ra(a, &solution); + n = i; + sa(a, &solution); + while (--n) + { + rra(a, &solution); + sa(a, &solution); + } +} + void hugo_sort(t_stack **a, t_stack **b, t_list *solution) { + int i; + + i = match(a); + nb_to_top(a, solution, i); + (void)b; +} +/* sa(a, &solution); pb(b, a, &solution); pb(b, a, &solution); @@ -18,4 +72,4 @@ void hugo_sort(t_stack **a, t_stack **b, t_list *solution) ra(a, &solution); rb(b, &solution); rr(a, b, &solution); -} +*/ diff --git a/srcs/push_swap.c b/srcs/push_swap.c index 7203919..70cffa5 100644 --- a/srcs/push_swap.c +++ b/srcs/push_swap.c @@ -47,8 +47,8 @@ t_list *launch_algo(t_stack **a, t_stack **b, int flag) ft_lstadd_back(&solution, ft_lstnew(b)); if (flag) fill_solution(solution, "start"); - // hugo_sort(a, b, solution); - bubble_sort(a, b, solution); + hugo_sort(a, b, solution); + // bubble_sort(a, b, solution); return (solution); }