a la norme

This commit is contained in:
hugogogo
2021-06-27 20:05:27 +02:00
parent f3c660cfd5
commit 98203c9ab5
5 changed files with 12 additions and 43 deletions

View File

@@ -1,33 +1,7 @@
#include "push_swap.h" #include "push_swap.h"
t_list *dup_n_fill(t_stack *a)
{
t_list *sort;
int *i;
int j;
j = 0;
sort = NULL;
while(a)
{
i = (int *)ft_calloc(3, sizeof(int));
i[0] = a->n;
i[1] = j;
i[2] = 0;
ft_lstadd_back(&sort, ft_lstnew(i));
a = a->next;
j++;
}
return (sort);
}
void hugo_sort(t_stack **a, t_stack **b, t_list *solution) void hugo_sort(t_stack **a, t_stack **b, t_list *solution)
{ {
(void)b;
(void)a;
(void)solution;
sa(a, &solution); sa(a, &solution);
pb(b, a, &solution); pb(b, a, &solution);
pb(b, a, &solution); pb(b, a, &solution);
@@ -45,4 +19,3 @@ void hugo_sort(t_stack **a, t_stack **b, t_list *solution)
rb(b, &solution); rb(b, &solution);
rr(a, b, &solution); rr(a, b, &solution);
} }

View File

@@ -1,8 +1,8 @@
#include "push_swap.h" #include "push_swap.h"
/* /*
** this function fill a new element on the chained list like this : ** this function is called by actions like sa()
** it fills a new element on the chained list like this :
** name!a: nb nb nb nb nb!b: nb nb nb ** name!a: nb nb nb nb nb!b: nb nb nb
** **
** it will later be printed like this ("!" is the char to split) : ** it will later be printed like this ("!" is the char to split) :
@@ -10,7 +10,7 @@
** a: nb nb nb nb nb ** a: nb nb nb nb nb
** b: nb nb nb ** b: nb nb nb
** **
** or only "name" if not flag -p ** or only "name" if no flag -p
*/ */
void fill_solution(t_list *solution, char *sp) void fill_solution(t_list *solution, char *sp)
{ {
@@ -21,14 +21,14 @@ void fill_solution(t_list *solution, char *sp)
a = *(t_stack **)(solution->content); a = *(t_stack **)(solution->content);
b = *(t_stack **)(solution->next->content); b = *(t_stack **)(solution->next->content);
stack = ft_strjoinfree(ft_strdup(sp), ft_strdup("!a:")); stack = ft_strjoinfree(ft_strdup(sp), ft_strdup("!a:"));
while(a != NULL) while (a != NULL)
{ {
stack = ft_strjoinfree(stack, ft_strdup(" ")); stack = ft_strjoinfree(stack, ft_strdup(" "));
stack = ft_strjoinfree(stack, ft_itoa(a->n)); stack = ft_strjoinfree(stack, ft_itoa(a->n));
a = a->next; a = a->next;
} }
stack = ft_strjoinfree(stack, ft_strdup("!b:")); stack = ft_strjoinfree(stack, ft_strdup("!b:"));
while(b != NULL) while (b != NULL)
{ {
stack = ft_strjoinfree(stack, ft_strdup(" ")); stack = ft_strjoinfree(stack, ft_strdup(" "));
stack = ft_strjoinfree(stack, ft_itoa(b->n)); stack = ft_strjoinfree(stack, ft_itoa(b->n));

View File

@@ -1,4 +1,3 @@
#include "push_swap.h" #include "push_swap.h"
void push(t_stack **dst, t_stack **src) void push(t_stack **dst, t_stack **src)
@@ -15,14 +14,14 @@ void push(t_stack **dst, t_stack **src)
*dst = tmp1; *dst = tmp1;
} }
t_list *pa(t_stack **a, t_stack **b, t_list **solution) t_list *pa(t_stack **a, t_stack **b, t_list **solution)
{ {
push(a, b); push(a, b);
fill_solution(*solution, "pa"); fill_solution(*solution, "pa");
return (NULL); return (NULL);
} }
t_list *pb(t_stack **b, t_stack **a, t_list **solution) t_list *pb(t_stack **b, t_stack **a, t_list **solution)
{ {
push(b, a); push(b, a);
fill_solution(*solution, "pb"); fill_solution(*solution, "pb");

View File

@@ -37,8 +37,6 @@ t_stack *init_stack(int ac, char **av)
// the chained list "solution" is created with specials first two elements : // the chained list "solution" is created with specials first two elements :
// they are pointers to stack a and b, so it can be accessed by fill_solution() // they are pointers to stack a and b, so it can be accessed by fill_solution()
// bubble_sort(&a, &b, solution);
t_list *launch_algo(t_stack **a, t_stack **b, int flag) t_list *launch_algo(t_stack **a, t_stack **b, int flag)
{ {
t_list *solution; t_list *solution;
@@ -50,6 +48,7 @@ t_list *launch_algo(t_stack **a, t_stack **b, int flag)
hugo_sort(a, b, solution); hugo_sort(a, b, solution);
return (solution); return (solution);
} }
// bubble_sort(&a, &b, solution);
int main(int ac, char **av) int main(int ac, char **av)
{ {

View File

@@ -1,7 +1,6 @@
#include "push_swap.h" #include "push_swap.h"
void rotate(t_stack **stack) void rotate(t_stack **stack)
{ {
t_stack *tmp; t_stack *tmp;
t_stack *first; t_stack *first;
@@ -17,25 +16,24 @@ void rotate(t_stack **stack)
first->next = NULL; first->next = NULL;
} }
t_list *ra(t_stack **a, t_list **lst) t_list *ra(t_stack **a, t_list **lst)
{ {
rotate(a); rotate(a);
fill_solution(*lst, "ra"); fill_solution(*lst, "ra");
return (NULL); return (NULL);
} }
t_list *rb(t_stack **b, t_list **lst) t_list *rb(t_stack **b, t_list **lst)
{ {
rotate(b); rotate(b);
fill_solution(*lst, "rb"); fill_solution(*lst, "rb");
return (NULL); return (NULL);
} }
t_list *rr(t_stack **a, t_stack **b, t_list **lst) t_list *rr(t_stack **a, t_stack **b, t_list **lst)
{ {
rotate(a); rotate(a);
rotate(b); rotate(b);
fill_solution(*lst, "rr"); fill_solution(*lst, "rr");
return (NULL); return (NULL);
} }