Files
42_INT_06_pushwap/srcs/pushswap.c
2021-06-11 19:32:36 +02:00

55 lines
873 B
C

#include "pushswap.h"
void is_valid(int ac, char **av)
{
if (ac < 2)
ps_error(1);
(void)av;
// check more error
}
t_stack *init_stack(int ac, char **av)
{
t_stack *start;
t_stack *tmp;
tmp = NULL;
while (--ac)
{
if (!(start = ft_calloc(1, sizeof(t_stack))))
ps_clean(start, 2);
start->n = ft_atoi(av[ac]);
start->next = tmp;
tmp = start;
}
return (start);
}
void print_stack(t_stack *stack)
{
ft_putstr("[");
while (stack)
{
ft_printf("%i", stack->n);
stack = stack->next;
if (stack)
ft_putstr("; ");
}
ft_putstr("]\n");
}
int main(int ac, char **av)
{
t_stack *stack;
t_list *result;
is_valid(ac, av); // check if usage and list are correct
stack = init_stack(ac, av); // create the list from av[]
print_stack(stack);
result = sort_algo(stack);
ft_printf("%s\n", result->content);
ps_clean(stack, 1);
return(0);
}