abandon optimisations et no more leaks

This commit is contained in:
hugogogo
2021-09-27 00:28:46 +02:00
parent 682be2acbd
commit 7d563f3362
11 changed files with 75 additions and 10 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
checker_linux Executable file

Binary file not shown.

View File

@@ -45,6 +45,12 @@ int divide_b(t_stack **a, t_stack **b, t_list *solution);
void send_sublist_to_a(t_stack **a, t_stack **b, t_list *solution);
void hugo_sort(t_stack **a, t_stack **b, t_list *lst);
/*
** spcecial_sorts_3_5.c
*/
void special_sort_3(t_stack **a, t_stack **b, t_list *solution);
void special_sort_5(t_stack **a, t_stack **b, t_list *solution);
/*
** minisort.c
*/

34
lucky_opti.sh Normal file

File diff suppressed because one or more lines are too long

BIN
push_swap

Binary file not shown.

View File

@@ -119,23 +119,33 @@ void send_sublist_to_a(t_stack **a, t_stack **b, t_list *solution)
mark_step(solution, "send_sublist_to_a");
}
void hugo_sort(t_stack **a, t_stack **b, t_list *solution)
void recursif_sort(t_stack **a, t_stack **b, t_list *solution)
{
if (sublist_size(*a) > 5)
if (sublist_size(*a) > 4)
divide_a(a, b, solution);
else
{
// sort_big(a, b, solution)
// mini_sort(a, solution);
minisort(a, solution);
if (sublist_size(*b) > 5)
mini_sort(a, solution);
// minisort(a, solution);
if (sublist_size(*b) > 4)
divide_b(a, b, solution);
else if (sublist_size(*b) > 0)
send_sublist_to_a(a, b, solution);
else
return ;
}
hugo_sort(a, b, solution);
recursif_sort(a, b, solution);
}
void hugo_sort(t_stack **a, t_stack **b, t_list *solution)
{
if (sublist_size(*a) <= 3)
special_sort_3(a, b, solution);
else if (sublist_size(*a) <= 5)
special_sort_5(a, b, solution);
else
recursif_sort(a, b, solution);
}

View File

@@ -1,5 +1,6 @@
#include "push_swap.h"
/*
int find_biggest(t_stack *list, int size)
{
int biggest;
@@ -49,6 +50,7 @@ void minisort(t_stack **list, t_list *solution)
(*list)->limit = 1;
mark_step(solution, "minisort");
}
*/
/*
t_stack *test;

View File

@@ -86,6 +86,7 @@ void print_flags(char **part, int flag)
void print_result(t_list *result, int flag)
{
int i;
int j;
char **part;
i = -1;
@@ -98,10 +99,12 @@ void print_result(t_list *result, int flag)
print_flags(part, flag);
ft_putchar('\n');
result = result->next;
free(part[0]);
free(part[1]);
free(part[2]);
free(part[3]);
j = 0;
while (part[j] != NULL)
{
free(part[j]);
j++;
}
free(part);
}
if (flag)

10
srcs/special_sorts_3_5.c Normal file
View File

@@ -0,0 +1,10 @@
#include "push_swap.h"
void special_sort_3(t_stack **a, t_stack **b, t_list *solution)
{
}
void special_sort_5(t_stack **a, t_stack **b, t_list *solution)
{
}