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
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Executable
BIN
View File
Binary file not shown.
+6
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
View File
File diff suppressed because one or more lines are too long
BIN
View File
Binary file not shown.
+16 -6
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);
}
+2
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;
+7 -4
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
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)
{
}